HI

On Tue, Jul 7, 2015 at 11:21 AM, 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.
>

   This sounds good however, any design that we could see how to achieve
this model, I guess we may have to re-design JMSStore to look-up messages
queued in then then dispatch (if connections ENV conditions are positive)
or will this retry is based on per message ?

I guess Batch process might be the abstract implementation for retry so
batch count should be the variable and control post conditions ..

>
>
> 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 *
>
>
>
>
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Dushan Abeyruwan | Technical Lead
Technical Support-Bloomington US
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Blog:*http://www.dushantech.com/ <http://www.dushantech.com/>*
Mobile:(001)812-391-7441
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to