odd, can you expand on what you did. Did you download trunk? What platform are you on? Did u make any changes like run against an external broker?
On 13 May 2010 13:15, sbuster <stevebuster...@hotmail.com> wrote: > > 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. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com