[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