You can inject failures into the system to check that the high
availability behavior functions as you expect.
Before you begin
Attention: This facility is provided to support acceptance
testing of a highly available configuration and should only be used for that
purpose. Injecting a failure into the system will cause resources to be disabled
or failed over from one server to another and will disrupt the workload.
About this task
You can send a JMX command to a messaging engine MBean to simulate
a failure in the high availability system. Injecting failures provides a useful
way to perform advanced verification or preproduction testing. You should
not inject a failure into a production system.
There are two types of messaging engine failure that you can
simulate, local error and global error. For more information on error types,
see
Service integration error types.
Procedure
- Start the wsadmin client.
You
start the wsadmin client from within Qshell. For more information, see the
topic "Configure Qshell to run WebSphere Application Server scripts".
For
more information about the wsadmin client, see Wsadmin tool.
- Use a JMX command to create a variable and set its value to the messaging engine, or engines, that you
want to fail:
set mbean_name [$AdminControl queryNames type=SIBMessagingEngine, name=messaging_engine_name,*]
- Use a JMX command to inject the failure, using the variable you
created in the previous step. To inject a local error:
$AdminControl invoke $mbean_name injectFault LocalError
To inject a global error:$AdminControl invoke $mbean_name injectFault GlobalError
Results
Use the administrative console to view the results. If you have configured
the system for failover, a local error should cause the messaging engine to
be failed over to another server. A global error does not cause a failover.
Example
For example, to inject a global error into a messaging engine named
myNode01.server1-bus1:
set myMBean [$AdminControl queryNames type=SIBMessagingEngine, name=myNode01.server1-bus1,*]
Followed by:
$AdminControl invoke $myMBean injectFault GlobalError