第4章 ツールおよびヒント


4.1. 移行に役立つリソース

4.1.1. 移行に役立つリソース

以下の例は、アプリケーションを JBoss EAP 6 に移行する際に役立つ可能性のあるリソースの一覧です。
ツール
設定変更の一部を自動化するツールがいくつかあります。詳細は、 「移行に役立つツールに慣れる」 を参照してください。
デバッグのヒント
アプリケーションの移行時に表示される可能性のある問題およびエラーの最も一般的な原因と解決策の一覧は、 「移行の問題のデバッグおよび解決」 を参照してください。
移行の例
JBoss EAP 6 に移行したアプリケーションの例は、 「サンプルアプリケーションの移行の確認」 を参照してください。

4.1.2. 移行に役立つツールに慣れる

概要

移行作業に役立つツールがいくつかあります。以下は、これらのツールの一覧と、そのツールの動作を示しています。

Tattletale
モジュラークラスローディングの変更に伴い、アプリケーションの依存関係を見つけ、修正する必要があります。Tattletale は、依存するモジュール名を特定し、アプリケーションの設定 XML を生成するのに役立ちます。
IronJacamar Migration Tool
JBoss EAP 6 では、データソースとリソースアダプターは個別のファイルで設定されなくなりました。サーバー設定ファイルで定義され、新しいスキーマを使用するようになりました。IronJacamar Migration Tool は、以前の設定を JBoss EAP 6 によって想定される形式に変換できます。

4.1.3. Tattletale を使用したアプリケーション依存関係の検索

概要

JBoss EAP 6 のモジュラークラスローディングの変更により、アプリケーションの移行時に JBoss ログに ClassNotFoundException または ClassCastException トレースが表示されることがあります。これらのエラーを解決するには、例外によって指定されたクラスが含まれる JAR を見つける必要があります。

Tattletale は、アプリケーションを再帰的にスキャンし、そのコンテンツに関する詳細なレポートを提供する優れたサードパーティーツールです。Tattletale 1.2.0.Beta2 以降には、JBoss EAP 6 で使用される新しい JBoss Modules クラスローディングに役立つ追加のサポートが含まれています。Tattletale の「JBoss AS 7」レポートを使用して、アプリケーションの jboss-deployment-structure.xml ファイルを組み込むため、依存するモジュール名を自動的に特定および生成することができます。

手順4.1 Tattletale をインストールして実行し、アプリケーションの依存関係を検索します。

注記
Tattletale はサードパーティーのツールで、JBoss EAP 6 の一部としてはサポートされません。Tattletale のインストールおよび使用に関する最新のドキュメントは、の Tattletale Web サイトを参照 http://tattletale.jboss.org/ してください。

4.1.4. Tattletale のダウンロードおよびインストール

手順4.2 Tattletale のダウンロードおよびインストール

  1. Tattletale バージョン 1.2.0.Beta2 以降を から http://sourceforge.net/projects/jboss/files/JBoss%20Tattletale ダウンロードします。
  2. 任意のディレクトリーに展開します。
  3. 以下を実行して TATTLETALE_HOME/jboss-tattletale.properties ファイルを変更します。
    1. ee6 および as7profiles プロパティーに追加します。
      profiles=java5, java6, ee6, as7
    2. scan および reports プロパティーのコメントを解除します。

4.1.5. Tattletale レポートの作成およびレビュー

  1. 以下のコマンドを実行して Tattletale レポートを作成します。 java -jar TATTLETALE_HOME/tattletale.jar APPLICATION_ARCHIVE OUTPUT_DIRECTORY
    例: java -jar tattletale-1.2.0.Beta2/tattletale.jar ~/applications/jboss-seam-booking.ear ~/output-results/
  2. ブラウザーで OUTPUT_DIRECTORY/index.html ファイルを開き、「Reports」セクションの「JBoss AS 7」をクリックします。
    1. 左側の列には、アプリケーションが使用するアーカイブが一覧表示されます。ARCHIVE_NAME リンクをクリックして、その場所、マニフェスト情報、含まれるクラスなどのアーカイブの詳細を表示します。
    2. 右側の列の jboss-deployment-structure.xml リンクは、左側の列で名前が付けられたアーカイブのモジュール依存関係を指定する方法を示しています。このリンクをクリックして、このアーカイブのデプロイメント依存関係モジュール情報を定義する方法を確認します。

4.1.6. IronJacamar Tool を使用したデータソースおよびリソースアダプター設定の移行

概要

以前のバージョンのアプリケーションサーバーでは、*-ds.xml の接尾辞が付いたファイルを使用してデータソースとリソースアダプターが設定され、デプロイされていました。IronJacamar 1.1 ディストリビューションには、これらの設定ファイルを JBoss EAP 6 が期待する形式に変換するために使用できる移行ツールが含まれています。ツールは以前のリリースのソース設定ファイルを解析し、XML 設定を作成し、新しい形式で出力ファイルに書き込みます。この XML は、JBoss EAP 6 サーバー設定ファイルの正しいサブシステムの下にコピーおよび貼り付けることができます。このツールは、古い属性と要素を新しい形式に変換するベスト作業を行いますが、生成されたファイルに追加の変更が必要になる場合があります。

注記
IronJacamar Migration ツールはサードパーティーのツールで、JBoss EAP 6 の一部としてはサポートされません。IronJacamar の詳細は、を http://www.ironjacamar.org/ 参照してください。このツールのインストールおよび使用に関する最新のドキュメントは、を http://www.ironjacamar.org/documentation.html 参照してください。

4.1.7. IronJacamar Migration Tool のダウンロードおよびインストール

注記
移行ツールは、IronJacamar 1.1 以降でのみ利用でき、Java 7 以降が必要になります。
  1. IronJacamar の最新のディストリビューションを からダウンロードします。 http://www.ironjacamar.org/download.html
  2. ダウンロードしたファイルを任意のディレクトリーに展開します。
  3. IronJacamar ディストリビューションでコンバータースクリプトを見つけます。
    • Linux スクリプトは、IRONJACAMAR_HOME/doc/as/converter.shにあります。
    • Windows バッチファイルは IRONJACAMAR_HOME/doc/as/converter.batにあります。

4.1.8. IronJacamar Migration Tool を使用したデータソース設定ファイルへの変換

注記
IronJacamar コンバータースクリプトには Java 7 以降が必要です。

手順4.4 データソース設定ファイルの変換

  1. コマンドラインを開き、IRONJACAMAR_HOME/doc/as/ ディレクトリーに移動します。
  2. 以下のコマンドを入力してコンバータースクリプトを実行します。
    • For Linux: ./converter.sh -ds SOURCE_FILE TARGET_FILE
    • Microsoft Windows の場合: ./converter.bat -ds SOURCE_FILE TARGET_FILE
    SOURCE_FILE は以前のリリースのデータソース -ds.xml ファイルです。TARGET_FILE には新しい設定が含まれます。
    たとえば、現在のディレクトリーにある jboss-seam-booking-ds.xml データソース設定ファイルを変換するには、以下を入力します。
    • For Linux: ./converter.sh -ds jboss-seam-booking-ds.xml new-datasource-config.xml
    • Microsoft Windows の場合: ./converter.bat -ds jboss-seam-booking-ds.xml new-datasource-config.xml
    データソース変換のパラメーターは -ds であることに注意してください。
  3. ターゲットファイルから <datasource> 要素をコピーし、それを <subsystem xmlns="urn:jboss:domain:datasources:1.1"><datasources> 要素の下のサーバー設定ファイルに貼り付けます。
    重要
    サーバーの再起動後に変更が維持されるようにするには、サーバーを停止してからサーバー設定ファイルを編集する必要があります。
    • 管理対象ドメインで実行している場合は、XML を EAP_HOME/domain/configuration/domain.xml ファイルにコピーします。
    • スタンドアロンサーバーとして実行している場合は、XML を EAP_HOME/standalone/configuration/standalone.xml ファイルにコピーします。
  4. 新しい設定ファイルで生成された XML を変更します。
    以下は、JBoss EAP 5.x に同梱される Seam 2.2 Booking サンプルの jboss-seam-booking-ds.xml データソース設定ファイルの例です。
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
      <local-tx-datasource>
        <jndi-name>bookingDatasource</jndi-name>
        <connection-url>jdbc:hsqldb:.</connection-url>
        <driver-class>org.hsqldb.jdbcDriver</driver-class>
        <user-name>sa</user-name>
        <password></password>
      </local-tx-datasource>
    </datasources>
    以下は、Converter スクリプトを実行して生成された設定ファイルです。生成されたファイルには <driver-class> 要素が含まれます。JBoss EAP 6 でドライバークラスを定義するのに推奨される方法は、<driver> 要素を使用することです。以下は、JBoss EAP 6 設定ファイルの結果として生成される XML で、<driver-class> 要素をコメントアウトし、対応する <driver> 要素を追加します。
    <subsystem xmlns="urn:jboss:domain:datasources:1.1">
      <datasources>
        <datasource enabled="true" jndi-name="java:jboss/datasources/bookingDatasource" jta="true"
                pool-name="bookingDatasource" use-ccm="true" use-java-context="true">
          <connection-url>jdbc:hsqldb:.</connection-url>
          <!-- Comment out the following driver-class element 
               since it is not the preferred way to define this.
               <driver-class>org.hsqldb.jdbcDriver</driver-class>     -->
          <!-- Specify the driver, which is defined later in the datasource  -->
          <driver>h2<driver>
          <transaction-isolation>TRANSACTION_NONE</transaction-isolation>
          <pool>
            <prefill>false</prefill>
            <use-strict-min>false</use-strict-min>
            <flush-strategy>FailingConnectionOnly</flush-strategy>
          </pool>
          <security>
            <user-name>sa</user-name>
            <password/>
          </security>
          <validation>
            <validate-on-match>false</validate-on-match>
            <background-validation>false</background-validation>
            <use-fast-fail>false</use-fast-fail>
          </validation>
          <timeout/>
          <statement>
            <track-statements>false</track-statements>
          </statement>
        </datasource>
        <drivers>
          <!-- The following driver element was not in the 
         XML target file. It was created manually. -->
          <driver name="h2" module="com.h2database.h2">
            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
            </driver>
          </drivers>
      </datasources>
    </subsystem>
    

4.1.9. IronJacamar Migration Tool を使用したリソースアダプター設定ファイルへの変換

注記
IronJacamar コンバータースクリプトには Java 7 以降が必要です。
  1. コマンドラインを開き、IRONJACAMAR_HOME/docs/as/ ディレクトリーに移動します。
  2. 以下のコマンドを入力してコンバータースクリプトを実行します。
    • For Linux: ./converter.sh -ra SOURCE_FILE TARGET_FILE
    • Microsoft Windows の場合: ./converter.bat -ra SOURCE_FILE TARGET_FILE
    SOURCE_FILE は以前のリリースのリソースアダプター -ds.xml ファイルです。TARGET_FILE には新しい設定が含まれます。
    たとえば、現在のディレクトリーにある mttestadapter-ds.xml リソースアダプター設定ファイルを変換するには、以下を入力します。
    • For Linux: ./converter.sh -ra mttestadapter-ds.xml new-adapter-config.xml
    • Microsoft Windows の場合: ./converter.bat -ra mttestadapter-ds.xml new-adapter-config.xml
    リソースアダプター変換のパラメーターは -ra であることに注意してください。
  3. ターゲットファイルから <resource-adapters> 要素全体をコピーし、サーバー設定ファイルに <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"> 要素の下に貼り付けます。
    重要
    サーバーの再起動後に変更が維持されるようにするには、サーバーを停止してからサーバー設定ファイルを編集する必要があります。
    • 管理対象ドメインで実行している場合は、XML を EAP_HOME/domain/configuration/domain.xml ファイルにコピーします。
    • スタンドアロンサーバーとして実行している場合は、XML を EAP_HOME/standalone/configuration/standalone.xml ファイルにコピーします。
  4. 新しい設定ファイルで生成された XML を変更します。
    以下は、JBoss EAP 5.x TestSuite からの mttestadapter-ds.xml リソースアダプター設定ファイルの例です。
    <?xml version="1.0" encoding="UTF-8"?>
      <!-- ==================================================================== -->
      <!-- ConnectionManager setup for jboss test adapter                       -->
      <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
      <!-- ==================================================================== -->
    <connection-factories>
      <tx-connection-factory>
        <jndi-name>JBossTestCF</jndi-name>
        <xa-transaction/>
        <rar-name>jbosstestadapter.rar</rar-name>
        <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
        <config-property name="IntegerProperty" type="java.lang.Integer">2</config-property>
        <config-property name="BooleanProperty" type="java.lang.Boolean">false</config-property>
        <config-property name="DoubleProperty" type="java.lang.Double">5.5</config-property>
        <config-property name="UrlProperty" type="java.net.URL">http://www.jboss.org</config-property>
        <config-property name="sleepInStart" type="long">200</config-property>
        <config-property name="sleepInStop" type="long">200</config-property>
      </tx-connection-factory>
      <tx-connection-factory>
        <jndi-name>JBossTestCF2</jndi-name>
        <xa-transaction/>
        <rar-name>jbosstestadapter.rar</rar-name>
        <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
        <config-property name="IntegerProperty" type="java.lang.Integer">2</config-property>
        <config-property name="BooleanProperty" type="java.lang.Boolean">false</config-property>
        <config-property name="DoubleProperty" type="java.lang.Double">5.5</config-property>
        <config-property name="UrlProperty" type="java.net.URL">http://www.jboss.org</config-property>
        <config-property name="sleepInStart" type="long">200</config-property>
        <config-property name="sleepInStop" type="long">200</config-property>
      </tx-connection-factory>
      <tx-connection-factory>
        <jndi-name>JBossTestCFByTx</jndi-name>
        <xa-transaction/>
        <track-connection-by-tx>true</track-connection-by-tx>
        <rar-name>jbosstestadapter.rar</rar-name>
        <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
        <config-property name="IntegerProperty" type="java.lang.Integer">2</config-property>
        <config-property name="BooleanProperty" type="java.lang.Boolean">false</config-property>
        <config-property name="DoubleProperty" type="java.lang.Double">5.5</config-property>
        <config-property name="UrlProperty" type="java.net.URL">http://www.jboss.org</config-property>
        <config-property name="sleepInStart" type="long">200</config-property>
        <config-property name="sleepInStop" type="long">200</config-property>
      </tx-connection-factory>
    </connection-factories>
    以下は、Converter スクリプトを実行して生成された設定ファイルです。生成された XML の class-name 属性値 "FIXME_MCF_CLASS_NAME" を、管理接続ファクトリーの正しいクラス名に置き換えます(この場合は "org.jboss.test.jca.adapter.TestManagedConnectionFactory")。以下は、JBoss EAP 6 設定ファイルの生成される XML で <class-name> 要素の値を変更します。
    <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
      <resource-adapters>
        <resource-adapter>
          <archive>jbosstestadapter.rar</archive>
          <transaction-support>XATransaction</transaction-support>
          <connection-definitions>
      <!-- Replace the "FIXME_MCF_CLASS_NAME" class-name value with the correct class name
      <connection-definition class-name="FIXME_MCF_CLASS_NAME" enabled="true"
        jndi-name="java:jboss/JBossTestCF" pool-name="JBossTestCF" 
        use-ccm="true" use-java-context="true"> -->
      <connection-definition 
        class-name="org.jboss.test.jca.adapter.TestManagedConnectionFactory" 
        enabled="true"
        jndi-name="java:jboss/JBossTestCF" pool-name="JBossTestCF" 
        use-ccm="true" use-java-context="true">
        <config-property name="IntegerProperty">2</config-property>
        <config-property name="sleepInStart">200</config-property>
        <config-property name="sleepInStop">200</config-property>
        <config-property name="BooleanProperty">false</config-property>
        <config-property name="UrlProperty">http://www.jboss.org</config-property>
        <config-property name="DoubleProperty">5.5</config-property>
        <pool>
          <prefill>false</prefill>
          <use-strict-min>false</use-strict-min>
          <flush-strategy>FailingConnectionOnly</flush-strategy>
        </pool>
        <security>
          <application/>
        </security>
        <timeout/>
        <validation>
          <background-validation>false</background-validation>
          <use-fast-fail>false</use-fast-fail>
        </validation>
      </connection-definition>
          </connection-definitions>
        </resource-adapter>
        <resource-adapter>
          <archive>jbosstestadapter.rar</archive>
          <transaction-support>XATransaction</transaction-support>
          <connection-definitions>
      <!-- Replace the "FIXME_MCF_CLASS_NAME" class-name value with the correct class name
       <connection-definition class-name="FIXME_MCF_CLASS_NAME" enabled="true"
        jndi-name="java:jboss/JBossTestCF2" pool-name="JBossTestCF2" 
        use-ccm="true" use-java-context="true"> -->
      <connection-definition 
        class-name="org.jboss.test.jca.adapter.TestManagedConnectionFactory" 
        enabled="true"
        jndi-name="java:jboss/JBossTestCF2" pool-name="JBossTestCF2" 
        use-ccm="true" use-java-context="true">
        <config-property name="IntegerProperty">2</config-property>
        <config-property name="sleepInStart">200</config-property>
        <config-property name="sleepInStop">200</config-property>
        <config-property name="BooleanProperty">false</config-property>
        <config-property name="UrlProperty">http://www.jboss.org</config-property>
        <config-property name="DoubleProperty">5.5</config-property>
        <pool>
          <prefill>false</prefill>
          <use-strict-min>false</use-strict-min>
          <flush-strategy>FailingConnectionOnly</flush-strategy>
        </pool>
        <security>
          <application/>
        </security>
        <timeout/>
        <validation>
          <background-validation>false</background-validation>
          <use-fast-fail>false</use-fast-fail>
        </validation>
      </connection-definition>
          </connection-definitions>
        </resource-adapter>
        <resource-adapter>
          <archive>jbosstestadapter.rar</archive>
          <transaction-support>XATransaction</transaction-support>
          <connection-definitions>
      <!-- Replace the "FIXME_MCF_CLASS_NAME" class-name value with the correct class name
      <connection-definition class-name="FIXME_MCF_CLASS_NAME" enabled="true"
         jndi-name="java:jboss/JBossTestCFByTx" pool-name="JBossTestCFByTx" 
         use-ccm="true" use-java-context="true"> -->
      <connection-definition 
        class-name="org.jboss.test.jca.adapter.TestManagedConnectionFactory" 
        enabled="true"
        jndi-name="java:jboss/JBossTestCFByTx" pool-name="JBossTestCFByTx" 
        use-ccm="true" use-java-context="true">
        <config-property name="IntegerProperty">2</config-property>
        <config-property name="sleepInStart">200</config-property>
        <config-property name="sleepInStop">200</config-property>
        <config-property name="BooleanProperty">false</config-property>
        <config-property name="UrlProperty">http://www.jboss.org</config-property>
        <config-property name="DoubleProperty">5.5</config-property>
        <pool>
          <prefill>false</prefill>
          <use-strict-min>false</use-strict-min>
          <flush-strategy>FailingConnectionOnly</flush-strategy>
        </pool>
        <security>
          <application/>
        </security>
        <timeout/>
        <validation>
          <background-validation>false</background-validation>
          <use-fast-fail>false</use-fast-fail>
        </validation>
      </connection-definition>
          </connection-definitions>
        </resource-adapter>
      </resource-adapters>
    </subsystem>
    
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.