我们正在与Weblogic 10.3.5进行通信。当我们从客户端发送消息时,我们得到以下异常:
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****
at weblogic.rjvm.ClusterInfoHelper.readClusterInfo(ClusterInfoHelper.java:32)
at weblogic.rjvm.ConnectionManager.readClusterInfo(ConnectionManager.java:981)
at weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(ConnectionManagerClient.java:212)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:875)
at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:512)
at weblogic.rjvm.t3.client.MuxableSocketT3.dispatch(MuxableSocketT3.java:303)
at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:950)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:888)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:339)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
Caused by: java.io.StreamCorruptedException: invalid type code: FE
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1374)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at weblogic.utils.io.ChunkedObjectInputStream.readObjectFromPreDiabloPeer(ChunkedObjectInputStream.java:232)
at weblogic.rjvm.ClusterInfoHelper.readClusterInfo(ClusterInfoHelper.java:30)
... 13 more
我已经找到问题cannot send message to weblogic queues,但它对我没有帮助。起初WebLogic在1.6 JVM上运行,而我的客户端在Java 1.7上运行,但我尝试使用Java 1.7运行它获得相同的结果。另请注意,我的例外中的类型代码与问题中的类型代码不同。
有趣的是,当我在与生产者相同的JVM中启动同一队列的使用者时,不会抛出异常,并且会毫无问题地接收和使用消息。一旦消费者在另一个JVM中启动,我就会在生产者中获得异常。
完全没有想法,所以如果有人有事,我会非常感激......
答案 0 :(得分:0)
找到了解决方案。
一个重要的细节是,我使用Camel JMS组件来发布消息。 事实证明,在端点上将“testConnectionOnStartup”选项设置为true将使错误消失。
初始化连接的某些部分似乎是在创建消费者时创建的,而不是在生成者时创建的,因此我在发送消息时遇到异常。
希望这可以帮助处于类似情况的人=)