[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-477) Messages are left in the Messages table after retry message is printed and are retried every time the server is restarted
Joel Lindheimer (JIRA)
jira-events at jboss.com
Thu Aug 3 11:22:11 EDT 2006
[ http://jira.jboss.com/jira/browse/JBMESSAGING-477?page=comments#action_12340490 ]
Joel Lindheimer commented on JBMESSAGING-477:
---------------------------------------------
I will ignore Adrian's rude comments because of the fact that I am logging a bug not asking for help.
Tim,
RE: "Your example is using UserTransaction in an attempt to demarcate transaction boundaries, but you are not using a JCA managed connection factory (the default one is at java:/jmsXA), you are using a standard, vanilla non JCA JMS connection factory (/XAConnectionFactory). "
I guess you did not look closely at the consumer; the XAConnectionFactory is commented out; I am using the one you suggested:
// private static String queueConnectionFactoryName = "/XAConnectionFactory";
private static String queueConnectionFactoryName = "java:/JmsXA";
> Messages are left in the Messages table after retry message is printed and are retried every time the server is restarted
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: JBMESSAGING-477
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-477
> Project: JBoss Messaging
> Issue Type: Bug
> Components: Messaging Core
> Affects Versions: 1.0.1.CR2
> Environment: Windows XP
> Reporter: Joel Lindheimer
> Assigned To: Ovidiu Feodorov
> Fix For: 1.0.1.CR5
>
> Attachments: TestConsumer.java, TestJMSClient.java
>
>
> I am testing Consumer.receive() with a userTransaction rollback scenario; the messages rollback and are retried. Eventually the follwoing message is printed:
> JBossMessage[49410]:PERSISTENT has exceed maximum delivery attempts and will be removed.
> However, the messages are never deleted from the messages table; it is therefore retried upon every subsequent server restart.
> To reproduce just send a simple message with a consumer that does the following:
> while (true) {
> log.warn("whileloop+");
> ut = (UserTransaction) getInitialContext().lookup("UserTransaction");
> ut.begin();
> conn = (QueueConnection) this.getQueueFactory().createQueueConnection();
> conn.start();
> session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> receiver = session.createReceiver(getQueue());
> // Note: starting the ut here does causes other issues... so i moved it up
> // ut = (UserTransaction) getInitialContext().lookup("UserTransaction");
> // ut.begin();
>
> TextMessage msg = (TextMessage) receiver.receive(5000);
> receiver.close();
> session.close();
> conn.close();
> log.warn("msg: " + msg);
> if(msg!=null) {
> log.warn("msg.text: " +msg.getText());
> }
> ut.rollback();
> (...)
> Here is the server console print:
> 12:41:30,946 WARN [TestConsumer] msg: null
> 12:41:30,946 WARN [TestConsumer] whileloop-
> 12:41:30,946 WARN [TestConsumer] whileloop+
> 12:41:30,946 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,946 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,946 WARN [TestConsumer] whileloop-
> 12:41:30,946 WARN [TestConsumer] whileloop+
> 12:41:30,946 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,946 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,946 WARN [TestConsumer] whileloop-
> 12:41:30,946 WARN [TestConsumer] whileloop+
> 12:41:30,962 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,962 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,962 WARN [TestConsumer] whileloop-
> 12:41:30,962 WARN [TestConsumer] whileloop+
> 12:41:30,962 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,962 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,962 WARN [TestConsumer] whileloop-
> 12:41:30,962 WARN [TestConsumer] whileloop+
> 12:41:30,962 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,962 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,962 WARN [TestConsumer] whileloop-
> 12:41:30,962 WARN [TestConsumer] whileloop+
> 12:41:30,962 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,962 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,962 WARN [TestConsumer] whileloop-
> 12:41:30,962 WARN [TestConsumer] whileloop+
> 12:41:30,977 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,977 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,977 WARN [TestConsumer] whileloop-
> 12:41:30,977 WARN [TestConsumer] whileloop+
> 12:41:30,977 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:30,977 WARN [TestConsumer] msg.text: Payload #2
> 12:41:30,977 WARN [TestConsumer] whileloop-
> 12:41:30,977 WARN [TestConsumer] whileloop+
> 12:41:31,009 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:31,009 WARN [TestConsumer] msg.text: Payload #2
> 12:41:31,009 WARN [TestConsumer] whileloop-
> 12:41:31,009 WARN [TestConsumer] whileloop+
> 12:41:31,009 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:31,009 WARN [TestConsumer] msg.text: Payload #2
> 12:41:31,009 WARN [TestConsumer] whileloop-
> 12:41:31,009 WARN [TestConsumer] whileloop+
> 12:41:31,024 WARN [TestConsumer] msg: delegator->JBossMessage[49410]:PERSISTENT
> 12:41:31,024 WARN [TestConsumer] msg.text: Payload #2
> 12:41:31,024 WARN [TestConsumer] whileloop-
> 12:41:31,024 WARN [TestConsumer] whileloop+
> 12:41:31,024 WARN [ServerConsumerEndpoint] JBossMessage[49410]:PERSISTENT has exceed maximum delivery attempt
> s and will be removed
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list