[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