EJB JARのJBossへのデプロイ

JDeveloper統合開発環境では汎用J2EE EJBを作成できます。JDeveloperでは、EJBアプリケーションのスタンドアロンOC4Jインスタンス、Oracle9iASおよびWebLogicへの直接デプロイメントもサポートしています。また、JDeveloperは、JBoss 2.4.4にデプロイするための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-2.4.4\binなどです。

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

  3. JBossのライブラリをJDeveloperに作成します。JBossのクライアント側ライブラリは、JBossディレクトリ内のクライアント・ディレクトリ(C:\JBoss-2.4.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で使用するには変更する必要があります。JBossのJNDIプロパティがOracle9iASとは異なるためです。初期環境を次のものと置き換えます。

    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"と表示されるのを確認してください。

関連項目: