Using the mqsistopmsgflow command to force a message flow to stop.
The mqsistopmsgflow command has been enhanced with a force option to escalate the mechanisms that are used to stop a message flow.
Without the force option, the mqsistopmsgflow command sends a request to a message flow to stop it by first waiting for all threads that are used by the message flow to finish. If one of the threads is stuck in an operation, then the message flow stop will never complete.
The force option -f has been added to allow system administrators to specify how the message flow should be stopped. Currently, restartExecutionGroup is the only valid option available, that causes the message flow to be flagged as stopped and then to restart the integration server. When the integration server restarts the message flow will be in the stop state.
mqsistopmsgflow IIB9BROKER -e eg1 -m mf1 -w 30
mqsistopmsgflow IIB9BROKER -e eg1 -m mf1 -w 30 -f restartExecutionGroup
The
first command would first try to the stop the message flow normally and wait 30 seconds
for a response. The second command would cause the integration server
to restart, but only if the flow was not already stopped.The non-force version of the mqsistopmsgflow command has the potential to hang the entire integration server deployment mechanism, but the force version of the mqsistopmsgflow command will not suffer from the same issue and avoids taking any locks that might cause hanging or deadlocks. The force version of the mqsistopmsgflow command will still work even if the standard deployment mechanisms are hung.
The same force option is available in the IBM® Integration API, the REST API, and within the web user interface.