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.

For more information on topic message processing, see Chapter 10, "Configuring and Deploying MDBs Using JMS Topics."

Note:

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:

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.