[jboss-user] [Messaging, JMS & JBossMQ] - Re: MDB and connection to a remote queue with transaction
hoigh
do-not-reply at jboss.com
Fri Sep 29 10:37:16 EDT 2006
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 at 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 at 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#3975162
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3975162
More information about the jboss-user
mailing list