users@glassfish.java.net

Non-Transactional MDB Unable to write message to non-txn queue

From: <glassfish_at_javadesktop.org>
Date: Wed, 12 Sep 2007 08:32:17 PDT

Hello,

We are seeing following exception trace while processing message from a non-transactional MDB (i.e. MDB with CMT, Txn NOT_SUPPORTED) when it writes to another queue. The session on this queue is not transacted. The exception trace points to a BrokerException stating transacted not started! there is no transaction because we are not starting one. Any ideas why and when would Glassfish throw this exception?
The error is while using embedded broker.

Glassfish Build 50g, JDK6, Solaris 10.

-----------
javax.jms.JMSException: MQJMSRA_DS4001: JMSServiceException on send message:sendMessage: Sending message failed.
 Connection ID: 2726108202513497088
        at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1821)
        at com.sun.messaging.jms.ra.DirectProducer._send(DirectProducer.java:1074)
        at com.sun.messaging.jms.ra.DirectProducer.send(DirectProducer.java:474)
        at com.foliotrade.arch.queue.QueueWrapper.sendWithoutRetry(QueueWrapper.java:1103)
        at com.foliotrade.arch.queue.QueueWrapper.send(QueueWrapper.java:704)
        at com.foliotrade.arch.queue.QueueWrapper.send(QueueWrapper.java:670)
        at com.foliotrade.op.ejb.messagedriven.OrderMatcherMdb.sendResultsToOutputQueue(OrderMatcherMdb.java:145
)
        at com.foliotrade.op.ejb.messagedriven.OrderMatcherMdb.onMessage(OrderMatcherMdb.java:83)
        at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2884)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3975)
        at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
        at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocatio
nHandler.java:179)
        at $Proxy60.onMessage(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:249)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:524)
Caused by: com.sun.messaging.jmq.jmsservice.JMSServiceException: sendMessage: Sending message failed. Connection
 ID: 2726108202513497088
        at com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.sendMessage(IMQDirectService.java:1933)
        at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1816)
        ... 21 more
Caused by: com.sun.messaging.jmq.jmsserver.util.BrokerException: transaction failed: Unexpected Broker Exception
: [Transaction 2726108202518526720: is not started, ignoring]
        at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.routeMessage(DataHandler.java:338)
        at com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.processMessage(ProtocolImpl.java:822)
        at com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.sendMessage(IMQDirectService.java:1926)
        ... 22 more
---------------------------------------------------

Thanks,
Sanjay
[Message sent by forum member 'sanjaydwivedi' (sanjaydwivedi)]

http://forums.java.net/jive/thread.jspa?messageID=235072