To accommodate your messaging needs, modify the Java Message Service and JMS host list to suit your deployment, performance, and availability needs. The following sections describe some typical scenarios.
For best availability, deploy MQ brokers and Communications Servers on different machines, if messaging needs are not just with Communications Server. Another option is to run an Communications Server instance and an MQ broker instance on each machine until there is sufficient messaging capacity.
Installing the Communications Server automatically creates a domain administration server (DAS). By default, the Java Message Service type for the DAS is LOCAL. So, starting DAS will also start its default MQ broker.
Creating a new domain will also create a new broker. By default, when you add a standalone server instance or a cluster to the domain, its Java Message Service will be configured as REMOTE and its default JMS host will be the broker started by DAS.
Default Deployment illustrates an example default deployment with an Communications Server cluster containing three instances.
To configure an Communications Server cluster to use an MQ broker cluster, add all the MQ brokers as JMS hosts in the Communications Server’s Java Message Service. Any JMS connection factories created and MDBs deployed will then use the JMS configuration specified.
The following figure illustrates an example deployment with three MQ brokers in an broker cluster and three Communications Server instances in a cluster.
In some cases, an application may need to use a different MQ broker cluster than the one used by the Communications Server cluster. Specifying an Application-Specific MQ Broker Cluster illustrates an example of such a scenario. To do so, use the AddressList property of a JMS connection factory or the activation-config element in an MDB deployment descriptor to specify the MQ broker cluster.
For more information about configuring connection factories, see JMS Connection Factories in Sun GlassFish Communications Server 1.5 Administration Guide. For more information about MDBs, see Using Message-Driven Beans in Sun GlassFish Communications Server Developer’s Guide.
When an application client or standalone application accesses a JMS administered object for the first time, the client JVM retrieves the Java Message Service configuration from the server. Further changes to the JMS service will not be available to the client JVM until it is restarted.