以下の Java メソッドは、JNDI コンテキスト オブジェクトを作成し、EJB を実行できるサーバをコールし、API を呼び出します。
public void doEJBCall() throws Exception
{
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
/* 最初のリモート コール(オプション) */
Context ctx = new InitialContext(props);
/* 2 番目のリモート コール */
EJB3UserControlBeanRemote remote = (EJB3UserControlBeanRemote) ctx.lookup("EJB3UserControlBean/remote");
/* 3 番目のリモート コール */
User u = remote.getUser("lisa_simpson");
/* ローカル コール ... */
System.out.println(u.getEmail());
}
サーバが使用可能ではないと仮定します。 このメソッドを実行すると、接続を取得できないため、このコードは成功しません。
以下の response ディレクティブを使用して、このコードを強制的に成功させることができます。 最初のディレクティブは、InitialContext オブジェクトの作成をインターセプトします。 2 番目のディレクティブは、Context オブジェクトの lookup() メソッドをインターセプトします。 3 番目のディレクティブは、EJB3UserControlBeanRemote オブジェクトのすべてのメソッドをインターセプトします。
<respond class="javax.naming.InitialContext" method="<init>" args="1099"/> <respond class="javax.naming.Context" method="lookup" args="EJB3UserControlBean/remote"/> <respond class="com.itko.examples.ejb3.EJB3UserControlBeanRemote"/>
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|