EJB JARのJBossへのデプロイ

JDeveloper統合開発環境では汎用J2EE EJBを作成できます。JDeveloperでは、EJBアプリケーションのスタンドアロンOC4Jインスタンス、Oracle Application ServerおよびWebLogic 6.1または7.0SP1への直接デプロイメントもサポートしています。また、JDeveloperは、JBoss 3.0.4(Tomcat 4.1.12を含む)にデプロイするためのJ2EE EJB JARファイルの作成もサポートしています。

EJB JARをJBossにデプロイするには、次のようにします。

  1. Windowsでは、setvars.batスクリプトを使用してJBossを起動します。

    UNIX(Bourne Shell)では、JAVA_HOME環境変数を設定し、Java2 SDKのbinディレクトリをPATHに追加します。次に例を示します。

    export JAVA_HOME=/usr/java/jdk1.4
    export PATH=${PATH}:${JAVA_HOME}/bin

  2. JBoss¥binディレクトリでrun scriptを実行します。たとえば、C:\JBoss-3.0.4\binです。

    JBossが起動すると、コマンド・シェルにいくつかの行が表示されます。

  3. JBossのライブラリをJDeveloperに作成します。JBossのクライアント側ライブラリは、JBossディレクトリ内のクライアント・ディレクトリ(C:¥JBoss-3.0.4¥clientなど)にあり、JBossにデプロイされたEJBをテストするために使用されます。「プロジェクトへのライブラリの組込み」を参照してください。
  4. JDeveloperで、新しいステートレス・セッションBeanを作成します。Enterprise JavaBeanウィザードで、「次へ」をクリックしてすべてのデフォルトを受け入れ、「終了」をクリックします。
  5. (オプション)EJBに対してJBoss固有の構成オプションをサポートする場合に、jboss.xmlファイルを作成します。たとえば、EJBリソースのJNDI名を変更できます。または、jboss.xmlにカスタム・コンテナを組み込むことができます。「jboss.xmlファイルの作成」を参照してください。
  6. ナビゲータでEJBノードを右クリックし、「新規のサンプルJavaクライアント」ポップアップ・メニュー・オプションを選択して、EJBのテスト・クライアントを作成します。
  7. 「リモート・アプリケーション・サーバーに接続」を選択し、「J2EEアプリケーション名」「OC4J接続名」の値は無視します。
  8. JBossのJNDIプロパティはOracle Application Serverとは異なるため、JBossでデフォルトのテスト・クライアントを使用するには変更が必要です。初期環境を次のものと置き換えます。

    env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    env.put(Context.PROVIDER_URL, "localhost");
    env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces" );

  9. EJBクラス・デザイナで事前に追加されたsetInfoメソッドおよびgetInfoメソッドを起動するコードを追加します。たとえば、これらのメソッドを起動するようにテスト・アプリケーションを次のように変更します。
    
    	Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
        env.put(Context.PROVIDER_URL, "localhost");
        env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
        Context ctx = new InitialContext(env);
        MySessionEJBHome mySessionEJBHome = (MySessionEJBHome)ctx.lookup("MySessionEJB");
        // Use one of the create() methods below to create a new instance
        MySessionEJB mySessionEJB = mySessionEJBHome.create( );
        // Call any of the Remote methods below to access the EJB
        mySessionEJB.setInfo( "Hello World" );
        System.out.println( MySessionEJB.getInfo() );
  10. デフォルトの名前ejb1.deployを使用して、EJBデプロイメント・プロファイルを作成します。
    1. 「J2EE EJBモジュール・デプロイメント・プロファイル設定」パネルでデフォルト設定を保存します。
  11. ナビゲータで、ejb1.deployを選択して右クリックし、ポップアップ・メニューから「JARファイルにデプロイ」を選択します。EJBモジュールはEJB JARファイルとしてパッケージされ、「EJBデプロイメント・プロファイル設定」パネルで指定したローカル・ディレクトリまたはマップ済のネットワーク・ドライブに保存されます。
  12. 配布ログ・ウィンドウに、新たに作成された .jarファイルの場所を示すメッセージが表示されます。次に例を示します。

    Beginning to deploy to the EJB JAR file...
    Wrote EJB .jar file to D:\jdev\mywork\Workspace2\Project1\ejb1.jar
    ---- Deployment finished. ---- July 6, 2002 2:58:05 PM

  13. このファイルをJBoss/deployディレクトリにコピーします。
  14. この場所でファイルが変更されたことをJBossが検出すると、EJBが自動的にデプロイされます。JBossによってEJBがデプロイされると、JBossが起動されたコンソール・ウィンドウにメッセージが表示されます。

JBossでのEJBのテスト

  1. JDeveloperでプロジェクト・プロパティを編集して、J2EEライブラリおよびOracle9iASライブラリを削除し、プロジェクトにJBossライブラリを追加します。
  2. テスト・クライアントを実行します。
  3. 「メッセージ・ログ」に"Hello World"と表示されるのを確認してください。

関連項目: