Hi Shafreen.

We planned to use same thread for the retry since store mediator working in
synchronous mode.


Thanks.

On Wed, Jul 8, 2015 at 9:19 AM, Shafreen Anfar <[email protected]> wrote:

> Hi Prabath,
>
>
> On Tue, Jul 7, 2015 at 6:21 PM, Prabath Ariyarathna <[email protected]>
> wrote:
>
>> Hi All,
>>
>> We are planning to implement guaranteed message delivery capability to
>> the MSMP.  We can divided current implementation into two basic sections
>> based on process.
>>
>>    1. *Message Store:* Message store mainly responsible for producing
>>    messages to the message broker using message store mediator.
>>    2. *Message process*: Message processor picks the messages from the
>>    message store and send to the specified endpoint.
>>
>> When we implement a guaranteed message delivery mechanism to the MSMP, we
>> need to think about both of above scenarios. JMS specification provided us
>> to two mechanisms(Acknowledgement, Transaction), which can be used to
>> achieve guaranteed delivery.
>> In our case message processor(consumer) side guaranteed delivery was
>> already implemented using acknowledgements. Message processor ACK to the
>> message store only if message was successfully processed. Message store
>>  removes the message once ACK received by the processor else redeliver the
>> message, but for the message storing(producer) part, we don’t have any
>> mechanism implemented to achieve this feature. Main intention of this
>> implementation is to provide a way to handle guaranteed delivery for the
>> message storing(producer) part.
>>
>> *Problem.*
>> We don’t have mechanism to handle guaranteed delivery in message
>> storing(producer) section. This issue can be occurred for following use
>> cases.
>>
>>    1. Message was sent to the MB, but didn’t received to the MB side due
>>    to communication failure.
>>    2. Message broker not available when try to store the message.
>>
>>
>> *Solution.*
>> We can choose either acknowledgement or transaction as a solution of
>> guaranteed delivery implementation but since JMS 1.1 doesn't support for
>> the producer acknowledgement, we decided to enable transaction support for
>> the message storing section to provide guaranteed delivery. Other than the
>> transactions enable in the message storing process, we planned to add retry
>> mechanism to avoid scenario like message store is not available when we try
>> to produce messages. User can define retry count and retry delay  in the
>> configuration of the store mediator. Message retry process is executing If
>> message broker connection not available or transaction has already
>> rollbacked. In addition to that features we are planning to add batch
>> process facility to store mediator to improve performance, while enabling
>> transactions as the future improvement.
>>
>
> How do you really going to implement the retry feature ? Will the retry
> happen using the same thread or will you be creating a separate thread for
> it ?
>
>
>>
>>
>> Thanks
>> --
>>
>> *Prabath Ariyarathna*
>>
>> *Associate Technical Lead*
>>
>> *WSO2, Inc. *
>>
>> *lean . enterprise . middleware *
>>
>>
>> *Email: [email protected] <[email protected]>*
>>
>> *Blog: http://prabu-lk.blogspot.com <http://prabu-lk.blogspot.com>*
>>
>> *Flicker : https://www.flickr.com/photos/47759189@N08
>> <https://www.flickr.com/photos/47759189@N08>*
>>
>> *Mobile: +94 77 699 4730 *
>>
>>
>>
>>
>>
>>
>
>
> --
> Regards,
> *Shafreen*
> Software Engineer
> WSO2 Inc
> Mobile : 077-556-395-1
>



-- 

*Prabath Ariyarathna*

*Associate Technical Lead*

*WSO2, Inc. *

*lean . enterprise . middleware *


*Email: [email protected] <[email protected]>*

*Blog: http://prabu-lk.blogspot.com <http://prabu-lk.blogspot.com>*

*Flicker : https://www.flickr.com/photos/47759189@N08
<https://www.flickr.com/photos/47759189@N08>*

*Mobile: +94 77 699 4730 *
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to