我有两个托管服务器的 weblogic,当我打开 MS1 时,有 JNDI 视图,我可以在那里看到我的会话 bean。有 MyBean#com 节点,可以按包展开,直到找到最后一部分。当我打开它时,有绑定名称:MyBean#com.company.MyInterface。
该 bean 使用位于 ear MyApp 内的远程注释进行注释。然后我有一个普通的java客户端。我向服务器打开 InitialContext:
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://hostname:7081");
ht.put(Context.SECURITY_PRINCIPAL, "weblogic");
ht.put(Context.SECURITY_CREDENTIALS, "weblogic");
_ctx = new InitialContext(ht);
并查一下:
_ctx.lookup("MyBean#com.company.MyInterface")
但它失败了:
javax.naming.NameNotFoundException: While trying to lookup 'MyBean#com.company.MyInterface' didn't find subcontext 'MyBean#com'. Resolved '']; remaining name 'MyBean#com.company.MyInterface'
您能帮我构建正确的 JNDI 名称吗?我很困惑,因为我可以在 WebLogic 10.3.4 的 JNDI 视图中看到它。十分感谢。