Message Queue 4.1 introduced a new, enhanced broker cluster. As compared to a conventional broker cluster, which provides only messaging service availability (if a broker fails, another broker is available to provide messaging service), the enhanced broker cluster also provides data availability (if a broker fails, its persistent messages and state data are available to another broker to use to take over message delivery).
The high-availability implementation introduced in Message Queue 4.1 uses a shared JDBC-based data store: instead of each broker in a broker cluster having its own persistent data store, all brokers in the cluster share the same JDBC-compliant database. If a particular broker fails, another broker within the cluster takes over message delivery for the failed broker. In doing so, the failover broker uses data and state information in the shared data store. Messaging clients of the failed broker reconnect to the failover broker, which provides uninterrupted messaging service.
The shared JDBC-based store used in the Message Queue 4.1 high-availability implementation must itself be highly available. If you do not have a highly available database or if uninterrupted message delivery is not important to you, you can continue to use conventional clusters, which provide service availability without data availability.
To configure a Message Queue 4.1 enhanced broker cluster, you specify the following broker properties for each broker in the cluster:
Cluster membership properties, which specify that the broker is in an enhanced broker cluster, the ID of the cluster, and the ID of the broker within the cluster.
Highly available database properties, which specify the persistent data model (JDBC), the name of the database vendor, and vendor-specific configuration properties.
Failure detection and failover properties, which specify how broker failure is detected and handled using a failover broker.
To use the enhanced broker cluster implementation, you must do the following:
Install a highly available database.
Install the JDBC driver .jar file.
Create the database schema for the highly available persistent data store.
Set high-availability properties for each broker in the cluster.
Start each broker in the cluster.
For a conceptual discussion of enhanced broker clusters and how they compare to conventional clusters, see Chapter 4, Broker Clusters, in Sun GlassFish Message Queue 4.4 Technical Overview. For procedural and reference information about enhanced broker clusters, see Chapter 10, Configuring and Managing Broker Clusters, in Sun GlassFish Message Queue 4.4 Administration Guide and Cluster Configuration Properties in Sun GlassFish Message Queue 4.4 Administration Guide.
If you have been using a highly available database with Message Queue 4.0 and want to switch to an enhanced broker cluster, you can use the Database Manager utility (imqdbmgr to convert to a shared persistent data store. Also see Broker Clusters for more known issues and limitations.