« JBoss AS 7.1 に移行(1) | トップページ | JBoss AS 7.1 に移行(3) »

2013年2月 9日 (土)

JBoss AS 7.1 に移行(2)

ソースは bitbucket さんに上げた。

NetBeans で OpenDolphin サーバーを maven 化

  1. プロジェクトを追加 → maven → エンタープライズアプリケーション
    • プロジェクト名:opendolphin-ea
    • グループ:jp.motomachi-hifuka
    • バージョン:1.3.0.8
    • パッケージ:なし
    • サーバ:選択しない(JBoss AS 7 はサポートされていない)
    • EJBモジュールの作成チェック,Webアプリケーションモジュールなし
  2. この時点で,opendolphin-ea-ejb の依存性に javaee-api-6.0.jar がセットされている。依存性を右クリックして,さらに依存性を追加する。以下のものを追加すると,関連する依存は自動的に追加される。
    • org.hibernate : hibernate-core 4.1.6.Final [jar]
    • org.jboss.logging : jboss-logging 3.1.2.GA [jar]
    • org.jboss.spec.javax.transaction : jboss-transaction-api_1.1_spec 1.0.1.Final [jar]
    • org.jboss.spec.javax.annotation : jboss-annotations-api_1.1_spec 1.0.1.Final [jar]
    • org.jboss.ejb3 : jboss-ejb3-ext-api 2.0.0 [jar]
    • org.hibernate : hibernate-search 4.1.1.Final [jar]
    • commons-lang : commons-lang 2.6 [jar]
    • commons-collections : commons-collections 3.2.1 [jar]
    • commons-io : commons-io 2.1 [jar]
    • jdom : jdom 1.0 [jar]
    • log4j : log4j 1.2.16 [jar]
  3. OpenDolphin-1.3.0.7-EJB のソースを src/main/java にコピーする
  4. JBoss AS 7 では @RemoteBinding は使えないので削除。PvtServer のServiceMBean も使えないので,本家からいただいた PVT-MBEAN のソースを参考に @Singleton に書き換える。
  5. persistence.xmlsrc/main/resources/META-INF/ にコピーする。hibernate-search 関係のプロパティーの書き換えが必要。
    <property name="hibernate.search.default.directory_provider" value="filesystem"/>
    
  6. hibernate-search 関連のとりあえず最低限動くだけの書き換え。ここらへんは後でもっと何とかしたい。
    • ModuleModel.java
      @Field(index = Index.YES)
      
    • RemoteDocumentPeekerServiceImpl.java
      public List getPatientTextSearch2(String text) {
      
          final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
          final Analyzer analyzer = fullTextEntityManager.getSearchFactory().getAnalyzer(ModuleModel.class);
          final org.apache.lucene.util.Version ver = org.apache.lucene.util.Version.LUCENE_35;
      
          try {
              // create native Lucene query
              org.apache.lucene.queryParser.QueryParser parser = new QueryParser(ver, "beanBytes", analyzer);
       
  7. opendolphin-ea をビルドすると,opendolphin-ea/opendolphin-ear/target/opendolphin-ea-ear-1.3.0.8.ear ができる。これを jboss の standalone/deploy フォルダにコピーしてデプロイさせる。
    =========================================================================
      JBoss Bootstrap Environment
      JBOSS_HOME: /Applications/jboss-as-7.1.4.Final
     :
    04:12:30,356 INFO  [CONSOLE] (Thread-84) PvtServer: waiting for connection
    04:12:30,368 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: "opendolphin-ea-ear-1.3.0.8.ear" をデプロイしました。
     :
    
  8. dolphin サーバで自動起動させる時の /etc/init.d/ スクリプト。
    #!/bin/sh
    
    JBOSS_HOME=/usr/local/jboss
    
    case "$1" in
        start)
            echo "Starting JBoss AS"
            start-stop-daemon --start --quiet --background --exec ${JBOSS_HOME}/bin/standalone.sh -- -b 0.0.0.0
        ;;
        stop)
            echo "Stopping JBoss AS"
            start-stop-daemon --start --quiet --background --exec ${JBOSS_HOME}/bin/jboss-cli.sh -- --connect command=:shutdown
        ;;
        *)
            echo "Usage: /etc/init.d/jboss {start|stop}"
            exit 1
        ;;
    esac
    
    exit 0
    

« JBoss AS 7.1 に移行(1) | トップページ | JBoss AS 7.1 に移行(3) »

OpenDolphin」カテゴリの記事