integration - Message responsibility in messaging based systems

We are working on a component which integrate two systems. Both system are communicating using a message bus(Service Bus and ActiveMQ) and they both produce messages. These messages contain critical data that cannot be lost during transport.

Our component is using Apache Camel for integrating these two systems. If we use "default" messaging principles then Apache Camel consumes a message from one bus, processes it and then forwards it to another queue. However, our client is concerned that this leads to a risk of the message beeing lost in transport and that responsability for the message is passed from system to system. A suggestion from our client was to leave the message in the senders queue until we can confirm that it has been received in the other system. I feel that this solution introduces a whole new complexity to our system and might not be optimal since we face a risk of messages getting stuck on queues.

Is there a best practice for dealing with this situation?

1 Answer

Leave a Reply

Your email address will not be published. Required fields are marked *

You can use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>