我有两个托管服务器的weblogic,当我打开MS1时,有JNDI视图,我可以看到我的会话bean。有MyBean#com节点,可以按包扩展,直到找到最后一个部分。当我打开它时,有绑定名称:MyBean#com.company.MyInterface。
bean使用远程注释进行注释,并在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视图中看到它。非常感谢你。