If an attempt to start a messaging engine on a server is
unsuccessful, that server is disabled as a location for that messaging
engine to run. After you have resolved the problem that prevented
the messaging engine from starting, you must manually re-enable the
server to maintain your high availability environment.
About this task
In a high availability environment, a messaging engine
can run on multiple application servers. If an attempt to start a
messaging engine on a server is unsuccessful, or the server hosting
a running messaging engine stops, the high availability manager restarts
the messaging engine on another eligible server. If the high availability
manager cannot start the messaging engine on that server, the server
becomes disabled as a location for that messaging engine to run, and
the following message is produced in the JVM logs for that server:
CWSID0039E: HAManager-initiated activation has failed, messaging engine messaging_engine_name will be disabled
In
some situations, the messaging engine can repeatedly fail to start.
In the following example, a messaging engine, hosted in a cluster
of three servers, is configured to use a data store. The cluster is
started before the database that is hosting the data store. The messaging
engine attempts to start on server1, and tries to connect to the data
store for up to 15 minutes by default.
Because the database
has not been started, the messaging engine cannot connect to the data
store. The messaging engine fails to start and server1 is disabled
for high availability. The messaging engine fails over to server2,
and again attempts to start and connect to the data store.
If the database is
still not started, the messaging engine fails to start and server2
is disabled for high availability. The messaging engine fails over
to server3, and again attempts to start and connect to the data store.
If the database is
still not running, the messaging engine fails to start and server3
is disabled for high availability. All servers in the cluster are
now disabled for high availability, and the messaging engine cannot
start until you start the database and re-enable at least one server.
When
you have fixed the cause of the messaging engine's failure to start,
re-enable the servers for high availability by either restarting the
servers, or by following the steps in this task to enable them using
the administrative console.
What to do next
When a messaging engine that uses a data store fails over
to another application server, it might attempt to start before the
database server has detected the loss of the network connection to
the original application server. Because the database server has not
detected the loss of the connection, the data store table locks are
not released and the messaging engine cannot start. In this situation,
the messaging engine can fail to start on all servers in the cluster.
To avoid this problem tune your system to detect the loss of the connection
more quickly.