As already stated, posting to the remote queue works fine if I use
| QueueSession session = connection.createQueueSession(false,
QueueSession.AUTO_ACKNOWLEDGE);
|
instead of
| QueueSession session = connection.createQueueSession(true, -1);
|
It makes no difference whether I use ConnectionFactory or XAConnectionFactory.
To find more details on the problem I examined the server logs and switched the logger for
org.jboss.qm to DEBUG level.
Astonishingly, there seems to be no difference in the log if I use the transacted session
instead of the normal one.
Here are some extracted snippets:
Sending within MDB.onMessage() on local host:
| 2006-09-29 11:22:30,036 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory]
SpyDestinationObjectFactory->getObjectInstance()
| 2006-09-29 11:22:30,040 DEBUG
[org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] Extracting
SpyConnectionFactory from reference
| 2006-09-29 11:22:30,045 DEBUG
[org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] The
GenericConnectionFactory is:
GenericConnectionFactory[server=org.jboss.mq.il.uil2.UILServerIL@4ff8413a
connectionProperties={UIL_PORT_KEY=8293,
ClientILService=org.jboss.mq.il.uil2.UILClientILService, UIL_ADDRESS_KEY=172.23.4.115,
UIL_TCPNODELAY_KEY=yes, PingPeriod=60000, UIL_CHUNKSIZE_KEY=1000000,
UIL_RECEIVE_REPLIES_KEY=No, UIL_BUFFERSIZE_KEY=2048}]
| 2006-09-29 11:22:30,047 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run
| 2006-09-29 11:22:30,047 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin
WriteTask.run
| 2006-09-29 11:22:30,047 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectOutputStream
| 2006-09-29 11:22:30,049 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectInputStream
| 2006-09-29 11:22:30,091 DEBUG [org.jboss.mq.il.uil2.UILClientILService] Starting
| 2006-09-29 11:22:30,106 DEBUG [org.jboss.mq.il.uil2.UILClientILService] Stopping
| 2006-09-29 11:22:30,107 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run
| 2006-09-29 11:22:30,108 DEBUG [org.jboss.mq.il.uil2.SocketManager] End WriteTask.run
|
The receiver on the remote host 172.23.4.115 logs something like:
| 2006-09-29 15:31:02,052 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory]
SpyDestinationObjectFactory->getObjectInstance()
| 2006-09-29 15:31:02,292 DEBUG
[org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] Extracting
SpyConnectionFactory from reference
| 2006-09-29 15:31:02,293 DEBUG
[org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] The
GenericConnectionFactory is:
GenericConnectionFactory[server=org.jboss.mq.il.uil2.UILServerIL@b77a46
connectionProperties={UIL_PORT_KEY=8293,
ClientILService=org.jboss.mq.il.uil2.UILClientILService, UIL_ADDRESS_KEY=172.23.4.115,
UIL_TCPNODELAY_KEY=yes, PingPeriod=60000, UIL_CHUNKSIZE_KEY=1000000,
UIL_RECEIVE_REPLIES_KEY=No, UIL_BUFFERSIZE_KEY=2048}]
| 2006-09-29 15:31:02,295 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run
| 2006-09-29 15:31:02,295 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run
| 2006-09-29 15:31:02,296 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin
WriteTask.run
| 2006-09-29 15:31:02,296 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin
WriteTask.run
| 2006-09-29 15:31:02,296 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectOutputStream
| 2006-09-29 15:31:02,296 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectOutputStream
| 2006-09-29 15:31:02,297 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectInputStream
| 2006-09-29 15:31:02,298 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created
ObjectInputStream
| 2006-09-29 15:31:02,302 DEBUG [org.jboss.mq.il.uil2.UILClientILService] Starting
| 2006-09-29 15:31:02,303 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler]
Setting up the UILClientIL Connection
| 2006-09-29 15:31:02,303 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] The
UILClientIL Connection is set up
| 2006-09-29 15:31:02,307 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory]
SpyDestinationObjectFactory->getObjectInstance()
| 2006-09-29 15:31:02,310 DEBUG [org.jboss.mq.il.uil2.SocketManager] End WriteTask.run
| 2006-09-29 15:31:02,310 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler]
Exiting on IOE
| java.net.SocketException: Socket closed
| at java.net.SocketInputStream.read(SocketInputStream.java:162)
| at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
| at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
| at
org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
| at
java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196)
| at
java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2376)
| at
java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2443)
| at
java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2515)
| at
java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2664)
| at java.io.ObjectInputStream.readByte(ObjectInputStream.java:875)
| at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
| at java.lang.Thread.run(Thread.java:595)
| 2006-09-29 15:31:02,371 DEBUG [org.jboss.mq.il.uil2.UILClientILService] Stopping
| 2006-09-29 15:31:02,373 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run
| 2006-09-29 15:31:02,311 DEBUG [org.jboss.mq.il.uil2.SocketManager] End WriteTask.run
| 2006-09-29 15:31:02,310 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run
|
The strange exception causing the ServerSocketManagerHandler to exit on IOE seems to be
independent of my original problem and is always there: no difference between successful
send and failure.
Sometimes there is also an
| java.io.EOFException
| at
java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2666)
| at java.io.ObjectInputStream.readByte(ObjectInputStream.java:875)
| at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
| at java.lang.Thread.run(Thread.java:595)
|
instead of the SocketException. But it seems to make no difference, too. Whether the one
or the other exception occurs is undetermined.
I hope that the snippets could help a little. Perhaps there is also another log setting to
find a clue on the problem?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3975162#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...