我是
但是,当我有“ java:global”(我得到NameNotFoundException:剩余名称...)时,我无法访问Bean,而没有它我只能走得更远。它仍然失败上查找有以下例外:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at weblogic.rmi.internal.StubInfo.getEnvQueriedJNDITimeout(StubInfo.java:256)
...
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:426)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
我缺少什么或有什么错误?
答案 0 :(得分:0)
问题出在wlthint3client.jar(StubInfo.java)的代码中。如果在jndi.properties文件中指定以下两个属性,则不能正确地将它们从String转换为Long。
Long o = (Long)props.get("weblogic.jndi.responseReadTimeout");
if (o == null) {
o = (Long)props.get("weblogic.rmi.clientTimeout");
}
如果需要设置这些属性,则必须在代码中创建一个Hashtable并将其传递给InitialContext。
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put("weblogic.jndi.responseReadTimeout", 15000L);
env.put("weblogic.rmi.clientTimeout", 15000L);