JSPクライアントから分離されたスタンドアロンJavaアプリケーションは、EJBセッションBeanとしてJBossアプリケーション・サーバーにデプロイされるビジネス・コンポーネント・アプリケーション・モジュールにアクセスできます。
セッションBeanとしてデプロイされるビジネス・コンポーネント・アプリケーション・モジュールと対話する新規クラスを作成します。 これはスタンドアロンJavaアプリケーションであり、セッションBeanを検索し、ApplicationModuleProxy
クラスを使用してアプリケーション・モジュールへの参照を取得します。
EJBセッションBeanのJBossテスト・クライアントを作成するには、次の手順を実行します。
カテゴリまたは項目が見つからない場合は、適切なプロジェクトを選択していることを確認し、「フィルタ方法」ドロップダウン・リストから「すべてのテクノロジ」を選択します。
新規に作成したJavaソース・ファイルに次のimport文を追加します。
import oracle.jbo.*; import javax.naming.*; import java.util.*; import mypackage2.common.ejb.beanmanaged.Mypackage2ModuleHome; import oracle.jbo.client.remote.ejb.ApplicationModuleProxy;
次のメイン・メソッドをクラスに追加します。
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(); } }
テスト・クライアントを実行するには、次の手順を実行します。
DEPT
データベース表の内容がアプリケーションのログ・ウィンドウに表示されていることを確認します。
Copyright © 1997, 2004, Oracle. All rights reserved.