Another question - is there no Dead Letter Queue behaviour then if a
message fails to get sent after max_retry is done?

John Hawkins
Director: Solutions Architecture


On Thu, Sep 3, 2015 at 4:41 PM, Ravindra Ranwala <ravin...@wso2.com> wrote:

> Hi John,
>
> The Cron expression in MP is used to create firing schedules such as "At
> 8:00am every Monday through Friday" [1]. If it is set the MP will run
> according to that. Otherwise MP will poll the queue with the specified
> interval value continuously.
>
> Also the MP has a parameter called max_delivery_attempts (defaults to 4),
> which defines the maximum retry attempts in case of a failure in end point.
> By default if the MP could not send the message to the end point after this
> number of retry count, it deactivates itself. But that message remains in
> the queue. After that you have to activate the MP explicitly to make the
> next schedule to be effective. Otherwise it will remain deactivated.
>
> If you need to override the above behaviour, you need to enable
> max-delivery-drop parameter, so that if the MP could not send the message
> after this number of attempts, it merely drops the message and continues.
> Here you loose the message if the endpoint is down.
>
>
> [1]
> http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger
>
>
> Thanks & Regards,
>
> On Thu, Sep 3, 2015 at 8:05 PM, John Hawkins <jo...@wso2.com> wrote:
>
>> Hi All,
>>
>> I'm trying to figure out when does the "cron  schedule" get used that I
>> can configure on the MessageProcessor?
>>
>> The logic that I think is happening is - if the message fails to get sent
>> 'retry' number of times then it's put to the dead letter queue (or DLC as
>> its called in qpid) . The Message Processor then looks at the DLC based on
>> when the cron job tells it to?
>>
>> If this logic is correct (?)  then I have a number of other questions
>> please:
>>
>> 1) what if this cron job is not set - does the message remain on the DLQ?
>> 2) Where is the DLQ defined  to synapse/the message processor so that it
>> knows where to go?
>> 3) What if the message gets removed from the DLC for some reason
>> (manually or otherwise)? Do we fail quietly or log it somewhere?
>> 4) What if other messages from other parts of the ESB get put to the DLQ
>> ? How does the MessageProcessor know which messages are for it?
>>
>>
>> many thanks for your help !
>> john.
>>
>>
>> John Hawkins
>> Director: Solutions Architecture
>>
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Ravindra Ranwala
> Software Engineer
> WSO2, Inc: http://wso2.com
> <http://www.google.com/url?q=http%3A%2F%2Fwso2.com&sa=D&sntz=1&usg=AFQjCNEZvyc0uMD1HhBaEGCBxs6e9fBObg>
> Mobile: +94714198770
>
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to