我已經能夠成功創建一個weblogic jms客戶端,並且我已經能夠在LAPTOP A上成功運行它,將消息發送到我公司的配置的jms隊列服務器:在服務器A.Weblogic JMS客戶端 - 從連接工廠創建連接無響應
現在,我遇到的問題是,當我在另一臺筆記本電腦,手提電腦去運行JMS客戶端,客戶端停止在它試圖創建連接工廠的連接點:
String queueConnectionFactory = "jms/thefactory"
QueueConnectionFactory qconFactory = (QueueConnectionFactory) context.lookup(queueConnectionFactory);
QueueConnection qcon = qconFactory.createQueueConnection(); //application freezes here!
當發生這種情況時,當我回到LAPTOP A並運行jms客戶端時,會發生同樣的情況。
我繼續終止在兩個筆記本電腦的客戶端應用程序,並在幾分鐘後,這出現在WebLogic的服務器日誌:
java.io.EOFException: Attempt to send message on closed socket.
java.rmi.MarshalException: IOException while sending; nested exception is:
java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1155)
at weblogic.iiop.OutboundResponseImpl.sendThrowable(OutboundResponseImpl.java:221)
at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.java:866)
at weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java:762)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:542)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused By: java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.MuxableSocketIIOP.send(MuxableSocketIIOP.java:469)
at weblogic.protocol.AsyncMessageSenderImpl.sendOutMsg(AsyncMessageSenderImpl.java:90)
at weblogic.protocol.AsyncMessageSenderImpl.send(AsyncMessageSenderImpl.java:46)
at weblogic.iiop.MuxableSocketIIOP$IIOPConnection.send(MuxableSocketIIOP.java:582)
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1148)
at weblogic.iiop.OutboundResponseImpl.sendThrowable(OutboundResponseImpl.java:221)
at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.java:866)
at weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java:762)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:542)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
過了一段時間,我能夠運行JMS來自LAPTOP A的客戶端。但是,當我從LAPTOP B再次嘗試時,我剛剛描述的整個問題就開始了。
兩臺筆記本電腦都可以ping通服務器,並通過遠程登錄到服務器的端口。實際上,兩者都可以很好地連接JMS服務器。這是造成這個奇怪問題的工廠連接創建。
我不明白髮生了什麼事。任何人都可以幫忙嗎?