[ 
https://issues.apache.org/jira/browse/AMQ-6657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15974688#comment-15974688
 ] 

Robbie Gemmell commented on AMQ-6657:
-------------------------------------

{quote}
This is exactly the problem I talk about, I need to be sure that the message 
has been processed, not only enqueued.
{quote}
Ok, so what you want is end-to-end acknowledgement between producer and 
consumer (or a searate response message)? If so thats entirely unclear from 
your description. The broker cant do that, and it isnt how brokered queuing 
works in generally: you send messages to the queue, they store and forward 
messages, acknowledgments are between the clients and the broker both for 
producing or consuming, not between the clients.

ActiveMQ doesnt support the behaviour you want from 'undeliverableHere', so at 
best thats a feature request to make it, in which case you may have mroe luck 
with new features requests for Artemis. At worst, it still wouldnt do what you 
want since the producer would not have any knowledge of the action by the 
consumer or the messge being requeued for delivery only to other consumers, so 
again youd need to look at doing something like request-response based 
messaging, or if you really want end-to-end acknoweldgement, perhaps look an 
entirely different solution. One example would be Qpid Dispatch router, which 
can support end-to-end acknowledgement because it is a router rather than a 
broker and never takes ownership of a message.

> ActiveMQ does not respect sender and receiver link settle mode
> --------------------------------------------------------------
>
>                 Key: AMQ-6657
>                 URL: https://issues.apache.org/jira/browse/AMQ-6657
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.14.4
>            Reporter: Ilya Lebedev
>
> Here is the long story
> http://activemq.2283324.n4.nabble.com/How-to-setup-policy-for-client-side-message-acceptance-td4724961.html
> Use case
> # setup policy for
> #* sender setter mode 'unsettled'
> #* receiver settle mode 'second'
> # connect to brocker
> Expected result
> * broker respects requested policy
> Actual result
> * broker resets
> ** sender settle mode - 'settle'
> ** receiver settle mode - 'first'
> Log
> {code}
>   amqp10:framing sending frame:  @attach(18) 
> [name='test_d5c61642-99b0-4315-bef5-7bffdf0f8d64' handle=0 role=false 
> senderSettleMode=0 receiverSettleMode=1 source=@source(40) 
> [address='localhost' durable=0 expiryPolicy='session-end' timeout=0 
> dynamic=false dynamicNodeProperties={} distributionMode=null filter={} 
> defaultOutcome=null outcomes=null capabilities=null] target=@target(41) 
> [address='test' durable=0 expiryPolicy='session-end' timeout=0 dynamic=false 
> dynamicNodeProperties={} capabilities=null] unsettled={} 
> incompleteUnsettled=false initialDeliveryCount=1 maxMessageSize=0 
> offeredCapabilities=null desiredCapabilities=null properties={}] +1ms
>   amqp10:trace raw: 
> [0000009602000001005312c0890ea129746573745f64356336313634322d393962302d343331352d626566352d376266666466306638643634434250005001005328c0260ba1096c6f63616c686f737443a30b73657373696f6e2d656e644342c1010040c10100404040005329c01b07a1047465737443a30b73657373696f6e2d656e644342c1010040c10100425201444040c10100]
>  +0ms
>   amqp10:connection Rx: 
> 0000008602000000005312c07907a129746573745f64356336313634322d393962302d343331352d626566352d376266666466306638643634434150025000005328c02308a1096c6f63616c686f737443a30b73657373696f6e2d656e644342c1010040c10100005329c01a06a1047465737443a30b73657373696f6e2d656e644342c101000000002402000000005313c017075201707fffffff5201707fffffff43520170000003e8
>  +1ms
>   amqp10:framing received frame:  @attach(18) 
> [name='test_d5c61642-99b0-4315-bef5-7bffdf0f8d64' handle=0 role=true 
> senderSettleMode=2 receiverSettleMode=0 source=@source(40) 
> [address='localhost' durable=0 expiryPolicy='session-end' timeout=0 
> dynamic=false dynamicNodeProperties={} distributionMode=null filter={} 
> defaultOutcome=null outcomes=null capabilities=null] target=@target(41) 
> [address='test' durable=0 expiryPolicy='session-end' timeout=0 dynamic=false 
> dynamicNodeProperties={} capabilities=null] unsettled={} 
> incompleteUnsettled=false initialDeliveryCount=null maxMessageSize=0 
> offeredCapabilities=null desiredCapabilities=null properties={}] +2ms 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to