8 Migration and Recovery for Clustered MDBs

Learn about the migration and recovery for clustered MDBs. Oracle 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.

After a WebLogic JMS destination migrates, the EJB container attempts to reestablish the affected MDB connections so that message processing can resume when the destination becomes available.

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 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.

MDBs can be targeted to clusters or individual Oracle 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 is deployed to every candidate server for each migratable target used by the JMS servers that host its source destination. If a migratable target has no constrained candidate-server list, all servers in its cluster are candidates. For more information on configuring migratable targets, see Understanding Migratable Target Servers in a Cluster in Administering 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 Administering JMS Resources for Oracle WebLogic Server.