3
Eclipse 3.7 IDEを使用してEJB2.0を作成し、それをJBoss 5アプリケーションサーバーにデプロイしました(私のbean nameは製品です)。私は通常のコンテキストルックアップ(そしてejbを呼び出すための他のもの)をやっていて、EJBを正常に呼び出すことができます。今、私の質問はJNDIの名前と正確には同じものです。私のBean名はJNDI名か、これは私のJNDI名 - >org.jnp.interfaces.NamingContextFactory
です。この?????のJNDI名はどこにありますか? 私のコード: -コード内のJNDI名はどこですか?
// initial code.............
Context ctx = getContext();
Object obj=ctx.lookup("Product");
ProductHome home =(ProductHome) javax.rmi.PortableRemoteObject.narrow(obj,ProductHome.class);
ProductRemote remote=home.create();
Product prd = new rohit.Product("PRDCamera",001,50.50) ;
remote.addProduct(prd);
remote.updateProduct(prd);
remote.removeProduct(001);
remote.findProduct(001);
remote.findAllProduct();
// getContext Method
public static InitialContext getContext() throws Exception{
Properties pro = new Properties();
pro.put(javax.naming.InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
pro.put(javax.naming.InitialContext.PROVIDER_URL,"localhost:1099");
return new InitialContext(pro);
}
ありがとうございます。したがって、このJNDI名はサーバー固有のものです。 JBossやWEBLogic Serverを使用している場合と同様に、JNDI名はこれらの2つのサーバーで異なるでしょうか?そして、私のコードの上のgetContextメソッドで使用される "org.jnp.interfaces.NamingContextFactory"は何ですか? –
@RohitElayathuいいえ、JNDI名は標準化されています。デフォルトでcom.mycorp.MyEJBクラスのEJBの場合はjava:comp/env/com/mycorp/MyEJBです。ただし、初期コンテキストファクトリの実装クラスは独自のものです。 –
これは、コードが私が参照しているファイルにある方法です。 'public final static String JNDI_NAME =" myproj/Status "; public final static String EJB_NAME = "myprojStatus"; ' **ここではステータスがInterfaceであり、myprojという名前のディレクトリを作成し、Status Interfaceを配置する必要があります。 JNDI_NAMEはパスですか?** – JavaDragon