A distributed JMS destination is a JMS queue or topic where the messages are spread across multiple servers in a cluster. They are used to have multiple JMS destinations across different servers that share a JNDI name. A distributed JMS queue allows you to have JMS queues with the same name on each node in a cluster. This allows the load to be distributed across multiple servers, with each server consuming off its own JMS queue and processing locally. A uniformly distributed destination is one in which the WebLogic Server creates the individual member queues on each server for you, rather than you having to do it yourself.
When configuring the producers and consumers for a distributed destination, the producers should usually be configured to produce to the distributed destination itself, and the local consumers should be configured to consume from the individual member queues created by WebLogic.
Follow these steps to configure a distributed JMS:
1. Connect to your WebLogic Server administration console, and log in with your administration credentials. By default, the administration console is available at http://<adminserverhost>:<adminserverport>/console.
2. In the left-hand navigation pane, expand Services, Messaging, and then JMS Modules.
3. In the main pane, click on New to create a new JMS module.
4. Enter a name for your JMS module, then click on Next.
5. Target your JMS module to either the SOA or BAM server, depending upon where it is needed, then click on Next.
6. The final screen will ask if you wish to create JMS resources for the new module; select that you do, then click on Finish.
7. Click on the New button, as shown in the following screenshot, to create a new JMS resource.
8. Select Distributed Queue as the type of resource, then click on Next.
9. Enter the name and JNDI name for your distributed queue, then click on Finish.
You can also create distributed topics, which work in exactly the same way. To do so, follow the instructions in this recipe, but select a unified, distributed topic rather than a unified, distributed queue.