This chapter describes 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 is
The destination is configured as the logical name of a replicated distributed topic
Case 2, when all of the following are true:
The MDB is
The destination is configured as the logical name of a distributed topic
Case 3, when all of the following are true:
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:
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 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.