[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-1070) dlqhandler fails on redelivery for messages missing the JMS property "JMSXDeliveryCount"

mark.lowe (JIRA) jira-events at lists.jboss.org
Thu Nov 20 06:26:38 EST 2008


    [ https://jira.jboss.org/jira/browse/EJBTHREE-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12439066#action_12439066 ] 

mark.lowe commented on EJBTHREE-1070:
-------------------------------------

Moreover (albeit a diffrent bug) changes to configurations made in standardjboss.xml aren't loaded at startup (4.2.2 and 4.2.3).. 

The resent map appears to be clears pretty much always, and hence you lose the count being used during redelivery.. IMO if the PROPERTY_DELIVERY_COUNT doesn't exist creating it if not present is a reasonable idea.. This saves having to set it in client code, and pretty much the whole world uses the JMSXDeliveryCount header anyhow.. 

It looks like this bug has been open for over a year, and means the exceptions thrown in MDBs cause infinite loops, which is bad, really quite seriously bad. 



> dlqhandler fails on redelivery for messages missing  the JMS property "JMSXDeliveryCount"
> -----------------------------------------------------------------------------------------
>
>                 Key: EJBTHREE-1070
>                 URL: https://jira.jboss.org/jira/browse/EJBTHREE-1070
>             Project: EJB 3.0
>          Issue Type: Bug
>    Affects Versions: AS 4.2.1.GA
>            Reporter: Danilo Guerra
>
> GenericDLQHandler fails when handling redelivery of messages missing the property "JMSXDeliveryCount" when using non JbossMQ providers.
> excerpt from the class: org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler
>    protected boolean handleDelivery(Message msg)
>    {
>    .....
>          try
>          {
>             if (msg.propertyExists(PROPERTY_DELIVERY_COUNT))
>                count = msg.getIntProperty(PROPERTY_DELIVERY_COUNT) - 1;
>          }
>          catch (JMSException ignored)
>          {
>             count = incrementResentCounter(id);
>          }
> ...
> }
> This code fails because the property PROPERTY_DELIVERY_COUNT is checked and the exception is never thrown. As a result the resent counter is not incremented and the message will not be sent to the DLQ.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list