Ravish Mody

Distributed destination (i.e. queue or topic) is a set of destinations, however that can be used as a single and a logical destination for the clients (i.e. producer and consumer). In this post we would be concentrating on the steps to create a Uniform Distributed Queue (UDQ). Following are some information about UDQ. For demo of UDQ you can check this post JMS Demo using WebLogic Uniform Distributed Queue (UDQ).



When we configure a UDQ we do not have to create any physical queue on the JMS servers instead WebLogic Server takes care of it and uniformly creates logical UDQ’s on the JMS servers. This way WLS ensures that all the parameters such as persistence, paging and quotas are across a cluster.

Advantages of UDQ

  • High availability.
  • Load balancing

Steps are as follows:

  1. Start your WebLogic Server an Login to the Admin Console.
  2. Create a JMS Server and File store
    Creating JMS Server
    JMS-2Creating JMS Server-1
    JMS-3Selecting JMS Server Store Type
    JMS-4Configuring JMS Store
    JMS-5Choosing JMS Store for JMS Server
    JMS-6Targeting to the JMS Server

    Repeat the same image steps to create JMS Server-2

    JMS-7Created 2 JMS Servers
  3. Configuring JMS Module
    JMS_M-1Creating JMS Module
    JMS_M-2Entering JMS Module Name
    JMS_M-3Targetting JMS Module
    JMS_M-4Finishing the Module Creation
  4. Creating Connection Factory
    JMS_C-1Creating JMS Connection Factory
    JMS_C-2Selecting Connection Factory to be Created
    JMS_C-3Providing Name/JNDIName to Connection Factory
    JMS_C-4Targeting the Connection Factory
  5. Creating Sub-Deployment
    JMS_Sub-1Creating Sub-Deployment
    JMS_Sub-2Entering Sub-Deployment Name
    JMS_Sub-3Targeting the Sub-Deployment
  6. Creating (UDQ) Uniform Distributed Queue
JMS_UDQ-1Creating Uniform Distributed Queue
JMS_UDQ-2Selecting Distributed Queue
JMS_UDQ-3Providing Name/JNDIName to Distributed Queue

JMS_Sub-4Selecting the Advanced Targeting
JMS_UDQ-4Targeting the Distributed Queue with the Sub-UDQ

Best Practices


(1-AS, 2-MS, 2-Boxes)

MS-1 under Cluster
JMSServer-1 and Store-1 => MS-1*

MS-2 under Cluster
JMSServer-2 and Store-2 => MS-2*

Admin Server
JMS_Module => Cluster
SubDeployment_UDQ => JMS Server-1, JMS Server-2
ConnFacty (with “affinity disabled”) => Cluster
UDQ => SubDeployment_UDQ


(1-AS, 2-MS, 1-Box)

Admin Server
MS-1, MS-2 under Cluster
JMSServer-1 and Store-1 => MS-1*
JMSServer-2 and Store-2 => MS-2*
JMS_Module => Cluster
SubDeployment_UDQ => JMSServer-1, JMSServer-2
ConnFacty (with “affinity disabled”) => Cluster
UDQ => SubDeployment_UDQ


  • Admin Server can be on any one of the boxes in scenario-1
  • (=>) means targeted to
  • (*) means migratable target [i.e. JMSServer-1 and Store-1 are targeted to “MS-1 (migratable)”]
  • In Box-A and Box-B the Cluster, SubDeployment_UDQ, ConnFacty and UDQ are the same, NOT different in scenario-1

Few things to remember:

  • We would need at least minimum 2 managed servers.
  • Both these managed servers should be in a cluster.
  • JMS servers and their respective store (i.e. File-store or JDBC-store) should be targeted on same server.
  • JMS Module should be targeted on the cluster.




Ravish Mody

If you enjoyed this post, please considerleaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.