[ 
https://issues.apache.org/jira/browse/AMQ-4337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish updated AMQ-4337:
------------------------------

    Priority: Minor  (was: Major)
    
> Messages with AMQ_SCHEDULED_DELAY do not respect transactions
> -------------------------------------------------------------
>
>                 Key: AMQ-4337
>                 URL: https://issues.apache.org/jira/browse/AMQ-4337
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Remo Gloor
>            Priority: Minor
>
> Currently delayed messages are delivered even if the session it was sent in 
> is rolled back. According to 
> http://activemq.2283324.n4.nabble.com/AMQ-SCHEDULED-DELAY-and-transactional-boundaries-td4658339.html
>  this is because the message can be delivered far in the future and the 
> transaction would take to long.
> I don't agree with that argument. The transaction can be short living. It is 
> only the enqueuing of the delayed message in the broker that has to be part 
> of the transaction. The delivery to the consumer is not part of the 
> transaction anymore.
> e.g. consider the scenario in the following preudo code:
>     while (application_runs)
>     try{
>         msg = session.Receive();
>         session.SendDelayed(anotherMessage);
>         if (random(5) != 0) throw exception;
>         session.Commit();
>     } catch { session.Rollback; }
> Currently a delayed message is sent for each retry. So we will get a lot more 
> messages in the future as we would expect. When delayed messages would 
> respect transactions just the successful ones would be enqueued. The other 
> ones are rolledback with the transaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to