セッション Bean メソッドを呼び出すための Java コードの挿入

「断片」ビューを使用して、セッション Bean 上の特定のメソッドを呼び出す Java™ コードを挿入できます。

挿入された Java コードは、セッション Bean 上の create メソッドを呼び出して、次にウィザードで指定されたメソッドを呼び出します。

セッション Bean サービス・メソッドを呼び出す断片の挿入例:

断片の挿入前:
public class Test {

	public void callSessionMethod() {
		// insert snippet here
		
	}
}
断片の挿入後、選択された RegistrationFacade セッション Bean 上の getPrimaryKey メソッドと共に:
import java.rmi.RemoteException;
import com.ibm.etools.service.locator.ServiceLocatorManager;
import sample.RegistrationFacadeHome;
import sample.RegistrationFacadeRemote;
import javax.ejb.CreateException;
public class Test {

	private final static String STATIC_RegistrationFacadeHome_REF_NAME = "ejb/RegistrationFacade";
	private final static Class STATIC_RegistrationFacadeHome_CLASS = RegistrationFacadeHome.class;
	public void callSessionMethod() {
		// insert snippet here
		RegistrationFacadeRemote aRegistrationFacadeRemote = createRegistrationFacadeRemote();
		try {
			Object anObject = aRegistrationFacadeRemote.getPrimaryKey();
		} catch (RemoteException ex) {
			// TODO Auto-generated catch block
			ex.printStackTrace();
		}
	}
	protected RegistrationFacadeRemote createRegistrationFacadeRemote() {
		RegistrationFacadeHome aRegistrationFacadeHome = (RegistrationFacadeHome) ServiceLocatorManager
				.getRemoteHome(STATIC_RegistrationFacadeHome_REF_NAME,
						STATIC_RegistrationFacadeHome_CLASS);
		try {
			if (aRegistrationFacadeHome != null)
				return aRegistrationFacadeHome.create();
		} catch (CreateException ce) {
			// TODO Auto-generated catch block
			ce.printStackTrace();
		} catch (RemoteException re) {
			// TODO Auto-generated catch block
			re.printStackTrace();
		}
		return null;
	}
}

セッション Bean サービス・メソッドを呼び出すための Java コードを挿入する手順は、次のとおりです。

  1. J2EE パースペクティブで、コードの断片を追加したい Java ファイルを Java エディターで開く。
  2. Java ファイルのコードを挿入するポイントにカーソルを置く。
  3. 「断片」ビューで EJB ドロワーを拡張して、 「セッション Bean サービス・メソッドの呼び出し」をダブルクリックする。 「セッション Bean サービスの挿入」ウィザードが開きます。
  4. 呼び出すセッション Bean の EJB 参照を選択する。 セッション Bean のための EJB 参照を定義していない場合は、まず 1 つを追加してからでないとこのウィザードを完了できません。 「新規 EJB 参照」をクリックして、「EJB 参照の追加」ウィザードを開く。
  5. 「次へ」をクリックする。
  6. クライアントおよびエンタープライズ Bean が同じアプリケーション・サーバー・コンテナー内にない場合は、 「プロバイダー URL」と「ネーム・サービス・タイプ」を入力して参照先エンタープライズ Bean の場所を指定する必要があります。 それ以外の場合は、「この参照に対するルックアップの実行にデフォルトのコンテキスト・プロパティーを使用する」を選択できます。
  7. 「次へ」をクリックする。
  8. 呼び出したいセッション Bean 内のメソッドを選択する。
  9. 「終了」をクリックする。
注: 編集した Java クラスが含まれる各エンタープライズ・アプリケーションに、 serviceLocatorMgr.jar がユーティリティー JAR ファイルとして追加されます。 この serviceLocator.jar ファイルには、挿入された Java コードの断片内で使用される ServiceLocatorManager クラスが含まれています。このクラスによって、ホーム・インターフェースと InitialContexts のルックアップが最適化され、アプリケーション全体で一度だけルックアップされます。 ユーティリティー JAR ファイルが追加されるので、Java ファイルが属するモジュールまたは Java ユーティリティー・プロジェクトについて、serviceLocator.jar ファイルの Java JAR 依存関係が追加されます。

ServiceLocatorManager クラスには、setErrorHandler (ServiceLocatorErrorHandler ハンドラー) と呼ばれる静的メソッドがあります。 このメソッドを使用すると、ホーム・インターフェースを検索するときに発生するエラー条件に対して、 特定のエラー・ハンドラーを指定できます。デフォルトのハンドラーは、処理される例外について printStackTrace() を呼び出すだけです。

関連タスク
EJB インスタンスを作成するための Java コードの挿入
EJB インスタンスを検索するための Java コードの挿入
メッセージを JMS キュー・リスナーに送るための Java コードの挿入
J2EE モジュール内の参照の定義

フィードバック