The JMS flow in Fuse ESB 3.3 allowed users to gain a level of persistence and failure tolerance out of their applications. The JMS flow used the internal ActiveMQ to manage temporary JMS destinations used for message exchanges. The JMS flow also made it possible to create a cluster of Fuse ESB containers over which you could distribute the endpoints used in an application.
While the JMS flow is not present in Fuse ESB 4, you can get some of the same benefits by using hard coded JMS endpoints along your flow as shown in Figure 9.1.
Where ever you place the JMS endpoints, the message exchange will be passed into a JMS destination that you can set up with any persistence level desired. You can also use the JMS bridge to distribute your endpoints among a number of different containers.
While this work around provides a number of the benefits of using JMS flows and clustering it does have the following limitations:
You must use named JMS destinations.
Messages are only written out to JMS destinations between the JMS endpoints.
You cannot fully distribute a message flow among a number of containers. A flow can only span multiple containers when traveling from one JMS endpoint to another.
Containers in a cluster established using dedicated JMS endpoints are not a true cluster. The containers have no knowledge of the endpoints in the remote containers.
For more information on using JMS endpoints see Using the JMS Binding Component.