[jboss-user] [JBoss Messaging] - Non JCA JMS and Transactions

jamesbo do-not-reply at jboss.com
Fri Jun 6 07:47:33 EDT 2008


I'm using JBoss-4.2.2.GA and JBossMessaging-1.4.0.SP3.

It appears that my JMS messages sent transactionally are lost, and non-transactionally are transmitted OK as shown in the following traces (all log lines for the relevant message id shown):

TRACE [org.jboss.jms.message.MessageIdGenerator] Getting next message id=1765522
  | TRACE [org.jboss.jms.client.container.SessionAspect] sending message JBossMessage[1765522]:PERSISTENT transactionally, queueing on resource manager txID=LocalTx[f5-z0pvn4hf-1-jbdun4hf-r3jkeb-o2e184a] sessionID= e5-z0pvn4hf-1-jbdun4hf-r3jkeb-o2e184a
  | TRACE [org.jboss.jms.tx.ResourceManager] addding message JBossMessage[1765522]:PERSISTENT for xid LocalTx[f5-z0pvn4hf-1-jbdun4hf-r3jkeb-o2e184a]
  | 


TRACE [org.jboss.jms.message.MessageIdGenerator] Getting next message id=1765514
  | TRACE [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] ConnectionEndpoint[gl1-afx8o4hf-1-jbdun4hf-r3jkeb-o2e184a] sending message JBossMessage[1765514]:PERSISTENT non-transactionally
  | TRACE [org.jboss.messaging.core.impl.postoffice.MessagingPostOffice] org.jboss.messaging.core.impl.postoffice.MessagingPostOffice at 2f8985ba routing Reference[1765514]:RELIABLE with condition 'topic.ACTIVITY_LOG' from cluster false
  | TRACE [org.jboss.messaging.core.impl.ChannelSupport] Queue[887642795/1/5265-ea1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] handles Reference[1765514]:RELIABLE non-transactionally
  | TRACE [org.jboss.messaging.core.impl.ChannelSupport] Queue[887642795/1/5265-ea1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] added Reference[1765514]:RELIABLE non-transactionally in memory
  | TRACE [org.jboss.messaging.core.impl.ChannelSupport] Queue[887642795/1/5265-ea1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] pushing Reference[1765514]:RELIABLE
  | TRACE [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] ConsumerEndpoint[da1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] receives Reference[1765514]:RELIABLE for delivery
  | TRACE [org.jboss.jms.server.endpoint.ServerSessionEndpoint] SessionEndpoint[ca1-17g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] handling delivery Delivery[Reference[1765514]:RELIABLE]
  | TRACE [org.jboss.messaging.core.impl.SimpleDelivery] Delivery[Reference[1765514]:RELIABLE] acknowledging delivery non-transactionally
  | TRACE [org.jboss.messaging.core.impl.ChannelSupport] acknowledging Delivery[Reference[1765514]:RELIABLE] non-transactionally
  | TRACE [org.jboss.jms.server.endpoint.ServerSessionEndpoint] SessionEndpoint[ca1-17g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] performing delivery for Reference[1765514]:RELIABLE
  | TRACE [org.jboss.jms.server.endpoint.ServerSessionEndpoint] SessionEndpoint[ca1-17g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] submitting message JBossMessage[1765514]:PERSISTENT to the remoting layer to be sent asynchronously
  | DEBUG [org.jboss.remoting.callback.ServerInvokerCallbackHandler] ServerInvokerCallbackHandler[a481e2o-8ownnu-fh4nzxf5-1-fh4o8g66-50+a481e2o-8ownnu-fh4nzxf5-1-fh4o8g6m-53] got PUSH callback InvocationRequest[11453981, ClientDelivery[JBossMessage[1765514]:PERSISTENT]]
  | TRACE [org.jboss.jms.wireformat.JMSWireFormat] It's a callback: InvocationRequest[11453981, ClientDelivery[JBossMessage[1765514]:PERSISTENT]]
  | TRACE [org.jboss.jms.wireformat.JMSWireFormat] Writing packet: ClientDelivery[JBossMessage[1765514]:PERSISTENT]
  | TRACE [org.jboss.messaging.core.impl.RoundRobinDistributor] receiver ConsumerEndpoint[da1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a] handled Reference[1765514]:RELIABLE and returned Delivery[Reference[1765514]:RELIABLE]
  | TRACE [org.jboss.messaging.core.impl.ClusterRoundRobinDistributor] org.jboss.messaging.core.impl.ClusterRoundRobinDistributor at 70ccbbea local distributor returned Delivery[Reference[1765514]:RELIABLE]
  | TRACE [org.jboss.messaging.core.impl.ChannelSupport] Queue[887642795/1/5265-ea1-h7g8o4hf-1-jbdun4hf-r3jkeb-o2e184a]: Delivery[Reference[1765514]:RELIABLE] returned for message Reference[1765514]:RELIABLE
  | TRACE [org.jboss.messaging.core.impl.postoffice.MessagingPostOffice] Queue returned Delivery[Reference[1765514]:RELIABLE]
  | TRACE [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] sent JBossMessage[1765514]:PERSISTENT

For historical reasons (I'm porting some existing code from WLS) the JMS connections in the server are obtained in the same manner as a remote client, i.e. it does not use a JCA ConnectionManager.  The JMS messages are sent in the context of a CMT SLSB and the transactions are committing.  Is it possible that I'm not getting proper transaction integration if using connections not obtained via a JCA ConnectionManager?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4156280#4156280

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4156280



More information about the jboss-user mailing list