我正在尝试在Tomcat 7下运行示例JMS使用者代码,该代码使用在远程WebLogic 12上运行的JMS队列。为此,我使用“WebLogic瘦客户端”方法(添加了wlclient.jar, wljmsclient.jar到我的类路径)。
以下是代码段:
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://testjmsserver:8710");
Context cx = new InitialContext(ht);
ConnectionFactory cf = (ConnectionFactory)cx.lookup("jms/TestFactory");
Connection connection = cf.createConnection();
当我运行它时 - 发现工作正常,但cf.createConnection()调用卡住了一分钟,然后它抛出异常(请参阅下面的完整异常转储)。
请注意,在完全成熟的WebLogic而不是Tomcat下运行相同的代码 - 工作正常。
我做错了什么?如何找到我得到的异常的根本原因?
感谢。
答案 0 :(得分:2)
好的,这就是发生的事情:
有三种方法可以使用WebLogic JMS:
我真的很惊讶选项#3不是默认选项(甚至可能是唯一可用的选项),特别是考虑到Oracle文档说#3是最快且最好的选项(例如:{ {3}})
所以底线是 - 如果你想在Tomcat下运行WebLogic JMS使用者,只需使用WebLogic“server / lib”文件夹中的wlthint3client.jar。