セッション 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;
	}
}

手順

  1. Java EE パースペクティブで、コード・スニペットを追加する Java ファイルを Java エディター内で開き、Java ファイル内のコードを挿入するポイントにカーソルを置きます。
  2. 「スニペット」ビューで EJB ドロワーを拡張して、「セッション Bean サービス・メソッドの呼び出し」をダブルクリックします。 「セッション Bean サービスの挿入」ウィザードが開きます。
  3. 作成する Bean の EJB 参照を選択し、「次へ」をクリックします。 EJB 参照がまだ追加されていない場合は、「新規 EJB 参照」をクリックし、EJB 参照を追加します。ウィザードを完了する前に、参照を追加する必要があります。
  4. 「次へ」をクリックします。
  5. クライアントおよびエンタープライズ Bean が同じアプリケーション・サーバー・コンテナー内にない場合は、 「プロバイダー URL」「ネーム・サービス・タイプ」を入力して参照先エンタープライズ Bean の場所を指定する必要があります。 それ以外の場合は、 「この参照に対するルックアップの実行にデフォルトのコンテキスト・プロパティーを使用する」を選択できます。
  6. 「次へ」をクリックします。
  7. 呼び出すセッション Bean 内のメソッドを選択します。
  8. 「終了」をクリックします。

タスクの結果

注: 編集した Java クラスが含まれる各エンタープライズ・アプリケーションに、 serviceLocatorMgr.jar がユーティリティー JAR ファイルとして追加されます。 この serviceLocator.jar ファイルには、挿入された Java コードの断片内で使用される ServiceLocatorManager クラスが含まれています。このクラスによって、ホーム・インターフェースと InitialContexts のルックアップが最適化され、アプリケーション全体で一度だけルックアップされるようになります。 ユーティリティー JAR ファイルが追加されるので、Java ファイルが属するモジュールまたは Java ユーティリティー・プロジェクトについて、serviceLocator.jar ファイルの Java JAR 依存関係が追加されます。

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


フィードバック