EJBセッションBeanのJBossテスト・クライアントの作成

JSPクライアントから分離されたスタンドアロンJavaアプリケーションは、EJBセッションBeanとしてJBossアプリケーション・サーバーにデプロイされるビジネス・コンポーネント・アプリケーション・モジュールにアクセスできます。

セッションBeanとしてデプロイされるビジネス・コンポーネント・アプリケーション・モジュールと対話する新規クラスを作成します。 これはスタンドアロンJavaアプリケーションであり、セッションBeanを検索し、ApplicationModuleProxyクラスを使用してアプリケーション・モジュールへの参照を取得します。

EJBセッションBeanのJBossテスト・クライアントを作成するには、次の手順を実行します。

  1. ナビゲータで、クラス・ファイルを作成する<projectname>.jprを選択します。
  2. 「ファイル」->「新規」を選択し、「新規ギャラリ」を開きます。
  3. 「カテゴリ」ツリーで、「General」を開き、「Simple Files」を選択します。 「項目」リストで、「Javaクラス」をダブルクリックします。

    カテゴリまたは項目が見つからない場合は、適切なプロジェクトを選択していることを確認し、「フィルタ方法」ドロップダウン・リストから「すべてのテクノロジ」を選択します。

  4. 「Javaクラスの作成」ダイアログで、デフォルトの設定のまま「OK」をクリックします。
  5. 新規に作成したJavaソース・ファイルに次のimport文を追加します。

    import oracle.jbo.*;
      import javax.naming.*;
      import java.util.*;
      import mypackage2.common.ejb.beanmanaged.Mypackage2ModuleHome;
      import oracle.jbo.client.remote.ejb.ApplicationModuleProxy;
              
  6. 次のメイン・メソッドをクラスに追加します。

    public static void main(String[] args)
      {
        try
        {
          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);
    
          Mypackage2ModuleHome beanHome  = (Mypackage2ModuleHome )ctx.lookup("mypackage2.Mypackage2Module");
    
          // Create the proxy. If you have exported methods then you can cast it to your common am interface.
          ApplicationModule am = ApplicationModuleProxy.create(beanHome, env);
    
          //
          // Note: Change this connect string to the connect string you use to connect to your database
          //
          am.getTransaction().connectToDataSource( null, "java:/OracleDS", null, null, false );
          System.out.println( am.getClass() );
          String[] voNames = am.getViewObjectNames();
          ViewObject vo = am.findViewObject("DeptView");
    
          Row row;
          while ( ( row = vo.next() ) != null )
          {
            int numAttrs = row.getAttributeCount();
            for ( int i=0; i  numAttrs; i++ )
            {
              System.out.println( "Name= " + vo.getAttributeDef(i).getName() +
                                  " Value= " + row.getAttribute(i) );
            }
            System.out.println("");
          }
          am.getTransaction().disconnect();
        }
        catch ( Exception ex )
        {
          ex.printStackTrace();
        }
      }          

テスト・クライアントを実行するには、次の手順を実行します。

  1. プロジェクト設定を編集し、J2EEライブラリおよびOracle Application Serverライブラリを削除して、JBossライブラリをプロジェクトに追加します。
  2. テスト・クライアントを実行します。
  3. DEPTデータベース表の内容がアプリケーションのログ・ウィンドウに表示されていることを確認します。

関連項目

JBossアプリケーション・サーバーの使用
ADF Business Componentsのデプロイメント用のJBossの構成
JBossでのOracleデータソースの作成
JBossアプリケーション・サーバーへのデプロイ

 

Copyright © 1997, 2004, Oracle. All rights reserved.