activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eduardo Corral <ecr...@tid.es>
Subject 'transaction has not been started' with transacted consumers
Date Wed, 17 Oct 2007 09:51:24 GMT
Hi everyone

We are having a similar problem to this one:

http://www.nabble.com/JMSException-Transaction-*-has-not-been-started-t1563748.html#a4246798

using ActiveMQ 4.1.1 Broker (right now we cannot use 5.0 in our 
production environment).

Basically, we have some consumers using transactions (consume/commit), 
and we cannot use CLIENT_ACKNOWLEDGE). When forcing a slow DB access 
when consuming messages, we finally get the same error on all consumers:

[DEBUG][2007/10/17.11:01:05.960][ActiveMQ Transport: 
tcp:///127.0.0.1:37264]Async error occurred: javax.jms.JMSException: 
Transaction 'TX:ID:sombra-37249-1192611298747-0:0:4842' has not been 
started.(Transaction 'TX:ID:sombra-37249-1192611298747-0:0:4842' has not 
been started.)

Full stack:

Oct 17, 2007 11:01:06 AM org.apache.activemq.ActiveMQConnection 
onAsyncException
WARNING: Async exception with no exception listener: 
javax.jms.JMSException: Transaction 
'TX:ID:sombra-37249-1192611298747-0:0:4847' has not been started.
javax.jms.JMSException: Transaction 
'TX:ID:sombra-37249-1192611298747-0:0:4847' has not been started.
        at 
org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:230)
        at 
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:173)
        at 
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at 
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at 
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:88)
        at 
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:506)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:179)
        at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
        at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
        at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
        at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133)
        at 
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:127)
        at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
        at java.lang.Thread.run(Unknown Source)

So, to make long story short: we need transacted consumers, with 
(ocasionally) slow DB access (no journal possible), and we need to avoid 
this exception. Does anyone know how to avoid it?

Thank you in advance and best regards
Eduardo

Mime
View raw message