ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLinkソリューション・ガイド
12c (12.1.2)
E47993-02
  目次へ移動
目次

前
 
次
 

5 JBoss 7 Application ServerでTopLinkを使用する方法

この章では、Oracle TopLinkをJBoss Application Server 7.1にデプロイされたアプリケーションの永続性プロバイダとして使用する方法を説明します。

この章の内容は次のとおりです。

ユース・ケース

TopLinkは、JBoss Application Serverを含む多くの一般的なJava EEアプリケーション・サーバーで使用できます。

解決方法

EclipseLinkランタイムを使用するようJBossを構成して、EclipseLinkのAPIを使用して開発されたアプリケーションをデプロイします。

コンポーネント

5.1 ソリューションの概要

JBoss Application Serverには、Java Platform, Enterprise Edition (Java EE)が実装されます。JBoss 7ではJava EE 6が完全にサポートされていますが、JBoss 6では公式にはJava EE 6 Webプロファイルのみがサポートされています。

JBossでEclipseLinkがサポートされるように構成すると、Java Persistence API (JPA)、Java Architecture for XML Binding (JAXB)およびそれらのテクノロジに対するEclipseLinkの拡張、またリレーショナル・データベースのアーティファクトにアクセスするWebサービスを介したEclipseLink Database Web Services (DBWS)を完全にサポートするEclipseLinkの利益を享受できます。

5.2 ソリューションの実装

JBoss Application Server 7でEclipseLinkのアプリケーションを開発、デプロイおよび実行するには、EclipseLinkをJBossのモジュールとして作成する必要があります。また、アプリケーションを実行するために、JDBCドライバなどその他のモジュールも作成する必要があります。

この項では、JBoss 7.1でEclipseLinkを使用するための次のタスクについて説明します。

5.2.1 タスク1: 前提条件

次のコンポーネントがインストールされていることを確認します。

5.2.2 タスク2: JBossのモジュールとしてのEclipseLinkの構成

JBossのモジュールとしてEclipseLinkを構成するには、次の手順を実行します。

  1. 次のようにディレクトリを作成します。

    JBOSS_ HOME\modules\org\eclipse\persistence\main

  2. 手順1で作成したディレクトリにeclipselink.jarをコピーします。(eclipselink.jarファイルは、TopLinkのクイック・インストーラによって作成されたoracle_common\modules\oracle.toplink_ver_noディレクトリにあります。)

  3. 手順1で作成したディレクトリに、次の内容でmodule.xmlファイルを作成します。

    <module xmlns="urn:jboss:module:1.1" name="org.eclipse.persistence">
       <resources>
           <resource-root path="eclipselink.jar"/>
           <!-- Insert resources here -->
       </resources>
       <dependencies>
          <module name="javax.api"/>
          <module name="javax.persistence.api"/>
          <module name="javax.transaction.api"/>
          <module name="javax.validation.api"/>
          <module name="javax.xml.bind.api"/>
          <module name="org.antlr"/>
          <module name="org.apache.commons.collections"/>
          <module name="org.dom4j"/>
          <module name="org.javassist"/>
          <module name="org.jboss.logging"/>
          <module name="com.oracle.ojdbc6"/>
       </dependencies>
    </module>
    

5.2.3 タスク3: JBossのモジュールとしてのojdbc6.jarの追加

Oracle Thinドライバojdbc6.jarをJBossにモジュールとして追加するには、次の手順を実行します。

  1. モジュール・ディレクトリを作成します。

    JBOSS_ HOME\modules\com\oracle\ojdbc6\main

  2. 手順1で作成したモジュール・ディレクトリにojdbc6.jarをコピーします。

  3. 手順1で作成したモジュール・ディレクトリに、次の内容でmodule.xmlファイルを作成します。

    <module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc6">
        <resources>
            <resource-root path="ojdbc6.jar"/>
            <!-- Insert resources here -->
        </resources>
        <dependencies>
            <module name="javax.api"/>
        </dependencies>
    </module>
    

5.2.4 タスク4: ドライバ定義およびデータ・ソースの作成

ドライバの定義およびデータ・ソースを作成します。

次の手順では、standalone.xml構成ファイルを使用してスタンドアロン・モードでJBossを構成する手順を説明します。domain.xmlを使用して、ドメイン・モードで実行するようJBossを構成する方法の詳細は、JBossのドキュメントを参照してください。

  1. スタンドアロンの構成ファイルJBOSS_ HOME\standalone\configuration\standalone.xmlで次を探します。

    <subsystem xmlns="urn:jboss:domain:datasources:1.0">

  2. そのセクションで、データ・ソースを構成します。次に、Oracle JDBC Thinドライバを使用したOracle Databaseの構成を示します。その他のデータ・ソースの構成手順については、JBossのドキュメントを参照してください。

<subsystem xmlns="urn:jboss:domain:datasources:1.0">
   <datasources>
      <datasource jndi-name="java:/EclipseLinkDS" 
            pool-name="EclipseLinkDS" 
            enabled="true" 
            jta="true" 
            use-java-context="true" 
            use-ccm="true">
         <connection-url>jdbc:oracle:thin:node_name.example.com:1521:TOPLINK</connection-url>
         <driver>oracle</driver>
         <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
         <pool>
            <prefill>true</prefill>
            <use-strict-min>false</use-strict-min>
            <flush-strategy>FailingConnectionOnly</flush-strategy>
         </pool>
         <security>
            <user-name>Smith</user-name>
            <password>password</password>
         </security>
       </datasource>
       <driver name="oracle" module="com.oracle.ojdbc6">
         <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
       </driver>
    </datasources>
</subsystem>

5.2.5 タスク5: ユーザーの作成

JBoss Application Server 7.1以降、JNDIツリーへのリモート・アクセスがデフォルトでセキュリティ保護されており、ログイン資格証明を提供する必要があるため、アプリケーション・ユーザーを最初に作成する必要があります。したがって、サーバーにアプリケーションをデプロイするには、最低でもアプリケーション・ユーザーを作成する必要があります。JNDIツリーを参照するなどの管理タスクにJBoss管理コンソールを使用するためにも、管理者ユーザーを作成する必要があります。

ユーザーの資格証明を作成するには、JBOSS_HOME\bin\にある、JBossのadd-user.batユーティリティを使用します。

JBoss Application Serverでのセキュリティの詳細は、JBossのドキュメントを参照してください。

5.2.6 タスク6: JBossのプロパティの変更

次のようにJBossのプロパティを変更します。

## JBoss-7.x
server.factory=org.jboss.naming.remote.client.InitialContextFactory
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
server.depend=jboss-client.jar
jboss.server=${jboss.home}/standalone
server.lib=${jboss.home}/bin/client
server.url=remote://localhost:4447
server.user=usera
server.pwd=passworda
jboss.naming.client.ejb.context=true

5.2.7 タスク7: その他の要件

  1. \libディレクトリの下にearjunit.jarを追加します。

  2. JBossのクラスロードの問題のために、persistence.xmlにエンティティ・クラスをすべて列挙する必要があります。<class>要素またはグローバル<exclude-unlisted-classes>false</exclude-unlisted-classes>要素を使用します。

  3. jndi.propertiesおよびjboss-ejb-client.propertiesの両方のプロパティをクライアントのクラスパスに追加します。

5.2.8 タスク8: JBossの起動

(サーバーが1つのみの構成の場合は)standalone.batまたは(クラスタ環境の場合は)domain.batファイルをJBOSS_ HOME\bin\で実行し、JBossを起動します。

JBossを構成および起動する別の方法については、JBossのドキュメントを参照してください。

5.3 その他の参考資料

この章のソリューションが実装されているその他のテクノロジおよびツールの詳細は、次の参考資料を参照してください。