Chapter 8. JBoss Messaging Message Bridge Configuration
8.1. Message Bridge Overview
deploydirectory of an Enterprise Application Platform configuration that contains JBoss Messaging.
$JBOSS_HOME/docs/examples/jboss-messaging-examples/bridge/demonstrates a simple bridge deployed in JBoss Enterprise Application Platform and moving messages from the source to the target destination.
Bridge QoS Levels
- This mode specifies that messages will arrive at the destination once at the most. Messages are consumed from the source and acknowledged before they are sent to the destination. Messages can be lost if failure occurs between the message leaving the source and arriving at the destination. Messages will therefore be delivered once at most.This mode is available for both persistent and non-persistent messages.
- This mode specifies that messages are consumed from the source and acknowledged after they have been successfully sent to the destination. If failure occurs between a message arriving, and being acknowledged by the destination, that message is sent a second time when the system recovers.This mode is available for both persistent and non-persistent messages.
- This mode specifies that messages will arrive exactly once. When the message source and destination are on the same JBoss Messaging server instance, the message can be sent and received in the same local transaction.If the source and destination are on different servers, you can implement message high durability by using a JTA transaction controlled by JBoss Transactions JTA implementation. If JTA is required, both connection factories must be
XAConnectionFactoryimplementations.This mode is only available for persistent messages.This mode requires logging on both the transaction manager and the resource side to support recovery. If you require this level of QOS, you must enable XA Recovery with JBoss Transactions.
QOS_DUPLICATES_OKmode, and then check for and discard duplicate messages at the destination.
QOS_ONCE_AND_ONLY_ONCEbehaviour at the application level by maintaining a cache of received message IDs on disk and comparing received messages to this cache. Because the cache would only be valid for a certain period of time, this approach is not infallible, but can be a useful alternative depending on your application.