8 Migration and Recovery for Clustered MDBs

WebLogic Server supports migration and recovery for clustered JMS destinations. In the event of failure, you can bring a JMS destination back online on a different JVM. You can design your cluster so that when a server instance fails, it automatically migrates the JMS destination from the failed server in the cluster to an available server instance. In turn, any MDB deployment associated with a migrated JMS destination is automatically updated. Such an update may include closing and reinitializing MDB pools and/or reconnecting to the JMS destination

Caution:

Service migration is not recommended for the following cases. In these cases, migration can result in either missing messages or duplicate message processing.

Case 1, when all of the following are true:

The MDB topicMessagesDistributionMode is One-Copy-Per-Server

The MDB distributedDestinationConnection is LocalOnly

The MDB is Durable

The destination is configured as the logical name of a replicated distributed topic

Case 2, when all of the following are true:

The MDB topicMessagesDistributionMode is Compatibility

The MDB is Durable

The destination is configured as the logical name of a distributed topic

Case 3, when all of the following are true:

The MDB topicMessagesDistributionMode is One-Copy-Per-Application

The MDB distributedDestinationConnection is LocalOnly

The migration target server has no MDB instance. Best practice is to target MDB deployments to the entire cluster, to avoid this problem.

A migratable service works with clustered servers only. A WebLogic JMS destination can migrate to another server within a cluster, but cannot migrate to a different cluster.

After a WebLogic JMS destination migrates to another server, an MDB deployment, or "connection poller," reconnects to the migrated JMS destination and begins to receive messages from the JMS destination again; the MDB may also create and close pools as needed.

MDBs can be targeted to clusters or individual WebLogic Server instances, but not to migratable targets. If an MDB is running in the same cluster as a migratable destination, you must ensure that MDB is deployed everywhere that its source destination may be hosted. You can do this in two ways:

Deploy MDBs homogeneously to the cluster. (Recommended)

Ensure that the MDB's target set includes all WebLogic Server instances that are in the candidate lists for the migratable targets in the config.xml file used by the JMS servers that host the destination. For more information on configuring migratable targets, see "Understanding Migratable Target Servers in a Cluster" in Using Clusters for Oracle WebLogic Server.

For instructions on implementing the migratable service and for background information on WebLogic JMS migration and recovery services for clustered architectures, see "JMS as a Migratable Service within a Cluster" in Configuring and Managing JMS for Oracle WebLogic Server.

Scripting on this page enhances content navigation, but does not change the content in any way.