2017-05-08 55 views
0

weblogic jmsクライアントを正常に作成できました.LAPTOP Aで正常に実行できました。私の会社のキューに設定されたjmsキューにメッセージを送信できました。サーバー:サーバーA.Weblogic JMS Client - 接続ファクトリーから接続を作成していない応答

問題は、別のラップトップLAPTOP Bでjmsクライアントを実行すると、クライアントが接続ファクトリから接続を作成しようとしている時点で停止することです。

String queueConnectionFactory = "jms/thefactory" 
QueueConnectionFactory qconFactory = (QueueConnectionFactory) context.lookup(queueConnectionFactory); 
QueueConnection qcon = qconFactory.createQueueConnection(); //application freezes here! 

私はラップトップ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からのクライアントです。しかし、私がラップトップBからもう一度試してみると、今説明した問題はすべて始まります。

両方のラップトップがサーバーにpingを実行し、サーバーのポートにtelnetで接続できます。実際、両方ともJMSサーバをうまく接続します。この奇妙な問題を引き起こすのは工場の接続の作成です。

何が起こっているのか分かりません。誰でも助けてくれますか?

答えて

0

私はこれを長い間前に考え出しましたが、答えを忘れてしまったのです。

問題は、私が使用していたweblogic jarです。ラップトップの1つはWindowsシステムで、もう1つはLinuxシステムでした。いくつかの奇妙な理由から、クライアントに使用するweblogic jarはホストのオペレーティングシステムによって異なります。

クライアントはWindows上で実行されるため、これらのjar:wlclient.jarおよびwljmsclient.jarを使用しました。

関連する問題