Gary, Thanks for the response! I downloaded the JmsRollbackRedeliveryTest and get the same results, plus once a few test cases execute it hangs. BTW, none of hte test cases are successful. here is the output.
May 13, 2010 7:12:39 AM org.apache.activemq.JmsRollbackRedeliveryTest doTestRedelivery INFO: Rollback message <hello id='1'/> id: ID:C001318805-3451-1273691609685-2:0:2:1:1 May 13, 2010 7:12:39 AM org.apache.activemq.broker.TransportConnection serviceException SEVERE: Async error occurred: javax.jms.JMSException: Transaction 'TX:ID:C001318805-1158-1273752758843-2:0:1' has not been started. javax.jms.JMSException: Transaction 'TX:ID:C001318805-1158-1273752758843-2:0:1' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:270) at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190) 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:85) at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456) at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) May 13, 2010 7:12:39 AM org.apache.activemq.JmsRollbackRedeliveryTest doTestRedelivery INFO: Received message <hello id='1'/> (0)ID:C001318805-3451-1273691609685-2:0:2:1:1 Gary Tully wrote: > > It will only get to the dlq when the redelivery policy retries are > exceeded > and this defaults to 6. You would need to configure that to 0 to get it > sent > to get a delivery to the DLQ. > > Can you try and produce a tests case for this behavior where the ack is > unexpected. > Pulling your code into the JMSConsumerTest does not reproduce. It works as > expected. > Maybe the JmsRollbackRedeliveryTest can give u a good starting point for a > test case or some examples that work: > > http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ > > On 11 May 2010 20:36, sbuster <stevebuster...@hotmail.com> wrote: > >> >> I'm the same probelm as the other user in terms of using a simple >> transacted >> client that tries to call session.rollback and get the following >> exception >> in the log. Ultimately I want the message to end up in the DLQ but it >> never >> gets directed there. attached is a simple client, my activemq config. >> >> ActiveMQ 5.3.1 & 5.3.2 >> Using the default activemq.xml configuration file. >> >> Test Case >> public class MessageConsumerA { >> private String url = ActiveMQConnection.DEFAULT_BROKER_URL; >> private Session session; >> private Destination destination; >> private int ackMode = Session.AUTO_ACKNOWLEDGE; >> private boolean transacted=true; >> private String subject = "TOOL.DEFAULT"; >> javax.jms.MessageConsumer consumer = null; >> /** >> * @param args >> * @throws Exception >> */ >> public static void main(String[] args) throws Exception { >> MessageConsumerA mc = new MessageConsumerA(); >> mc.run(); >> >> } >> >> public void run() throws Exception{ >> ActiveMQConnectionFactory connectionFactory = new >> ActiveMQConnectionFactory(url); >> Connection connection = connectionFactory.createConnection(); >> connection.start(); >> session = connection.createSession(transacted, ackMode); >> destination = session.createQueue(subject); >> consumer = session.createConsumer(destination); >> Message message = consumer.receive(10000); >> session.rollback(); >> System.out.println("Closing connection"); >> consumer.close(); >> session.close(); >> connection.close(); >> } >> >> } >> >> >> Stack Trace: >> WARN | Async error occurred: javax.jms.JMSException: Transaction >> 'TX:ID:C001318 >> 805-4042-1273606494194-0:0:1' has not been started. >> javax.jms.JMSException: Transaction >> 'TX:ID:C001318805-4042-1273606494194-0:0:1' >> has not been started. >> at >> org.apache.activemq.broker.TransactionBroker.getTransaction(Transacti >> onBroker.java:270) >> at >> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionB >> roker.java:190) >> 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(MutableBro >> kerFilter.java:85) >> at >> org.apache.activemq.broker.TransportConnection.processMessageAck(Tran >> sportConnection.java:452) >> at >> org.apache.activemq.command.MessageAck.visit(MessageAck.java:205) >> at >> org.apache.activemq.broker.TransportConnection.service(TransportConne >> ction.java:300) >> at >> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportC >> onnection.java:178) >> at >> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilt >> er.java:68) >> at >> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireForm >> atNegotiator.java:113) >> at >> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityM >> onitor.java:216) >> at >> org.apache.activemq.transport.TransportSupport.doConsume(TransportSup >> port.java:84) >> at >> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.jav >> a:204) >> at >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: >> 186) >> at java.lang.Thread.run(Thread.java:619) >> -- >> View this message in context: >> http://old.nabble.com/javax.jms.JMSException%3A-Transaction-%27TX%3AID...%27-not-started-tp28528467p28528467.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> >> > > > -- > http://blog.garytully.com > > Open Source Integration > http://fusesource.com > > -- View this message in context: http://old.nabble.com/javax.jms.JMSException%3A-Transaction-%27TX%3AID...%27-not-started-tp28528467p28546752.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.