1
我使用Weblogic的10.3.5和會話bean EJB 3從Java主類的Weblogic 10.3.5 EJB3當地SEESION bean查找
,但我無法查找本地無狀態會話bean的JNDI即使我能夠查找
遠程豆成功
我的代碼是主類是
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");
try {
Context ctx = new InitialContext(p);
TheBeanRemote bean = (TheBeanRemote) ctx
.lookup("MrBean#com.bdc.TheBeanRemote");
System.out.println(bean.sayHello());
TheLocalLocal bean2 = (TheLocalLocal) ctx.lookup("TheLocalLocal");
Object obj = ctx.lookup("java:comp/env/ejb/MrBean2");
System.out.println(bean2.sayHello());
} catch (Exception e) {
e.printStackTrace();
}
Remote Bean
import javax.ejb.Remote;
@Remote 公共接口TheBeanRemote {
public String sayHello();
}
本地豆
進口javax.ejb.Local;
@Local(TheLocalLocal.class) 公共接口TheLocalLocal {
public String sayHello();
}
謝謝回覆, 當我使用上下文對象而不傳遞屬性ies對象並嘗試訪問,如上面爲本地bean建議的那樣,那麼我得到以下內容 javax.naming.NoInitialContextException:需要在環境或系統屬性中,或作爲applet參數或在應用程序資源中指定類名file:java.naming.factory.initial 請讓我知道問題出在哪裏,因爲多日來我面臨同樣的問題 謝謝!!! – user432843 2014-11-04 13:42:39
你能發佈完整的例外嗎? - 您可以編輯您的原始問題以添加更多信息。聽起來像它可能是類路徑問題 – 2014-11-04 15:31:24
完全例外:: javax.naming.NoInitialContextException:需要在環境或系統屬性中,或作爲applet參數或應用程序資源文件中指定類名稱:java.naming。 factory.initial \t at javax.naming.spi.NamingManager.getInitialContext(NamingManager。的java:645) \t在javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) \t在javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) \t在javax.naming.InitialContext.lookup(InitialContext的.java:392) \t at com.bdc.Main.main(Main.java:33) – user432843 2014-11-05 16:14:00