You can inject failures into the system to check that the high
availability behavior functions as you expect.
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.
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.
- Start the wsadmin client.
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
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.
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