mqsistartmsgflow command

Use the mqsistartmsgflow command to start integration servers, applications, and message flows.

Purpose

You can use the mqsistartmsgflow command for the following purposes:
  • To start a specific message flow in an integration server
  • To start all message flows in the integration server
  • To start a specific integration server
  • To start all integration servers
  • To start a message flow in a specific application or library or both
  • To start all message flows in a specific application or library or both
  • To start a specific application
  • To start all applications

To use this command, you must have already deployed message flows, if specified, to the integration node in a BAR file. You can start message flows only if the integration server to which the message flow is deployed is running.

Syntax

Read syntax diagramSkip visual syntax diagrammqsistartmsgflowintegrationNodeSpec  -e integrationServerName -g  -m  flowName -j  -k  applicationName -z  -v traceFileName -w timeoutSecs -y libraryName
integrationNodeSpec
Read syntax diagramSkip visual syntax diagram integrationNodeName  -n integrationNodeFileName -i ipAddress -p port -i ipAddress -p port

Parameters

integrationNodeSpec
(Required) You must specify at least one parameter to identify the target integration node for this command, in one of the following forms:
integrationNodeName
This parameter identifies the name of a specified integration node. To connect to a remote integration node, you must also specify -i and -p.
-n integrationNodeFileName
This parameter identifies the name of a .broker file that contains the connection details for a local or remote integration node. Include the location (path) and file name when you specify this parameter. You must ensure that the location is accessible when you run this command.

Use this option if multiple users want to connect to the same integration node, or if you are using advanced connection parameters such as SSL. To learn more about creating and using a .broker file, see Connecting to an integration node by creating a .broker file.

If you want to run a command that uses SSL to administer a remote integration node over a secured channel, you must specify the keystore and truststore password for the connection that is using the IBM_JAVA_OPTIONS environment variable. For more information, see Resolving problems when running commands.

-i ipAddress, -p port
These parameters identify the connection details for the integration node.

Use this option for connections to remote integration nodes that do not require advanced connection parameters.

If you are connecting to a remote integration node, you can additionally prefix integrationNodeName to explicitly set which integration node to connect to. You cannot use -n integrationNodeFileName in the same command.

Parameters that you omit assume default values:

  • -i ipAddress: The host name or IP address of the computer on which the integration node is running. If you do not specify this parameter, a value that represents the local computer is used.

    If you want to connect to a secured integration server as a specific user, provide the security credentials as a URI in the following format: tcp://user:password@hostname. If your password contains URI Reserved characters, you must convert these characters to the percent-encoded format. For more information, see A correct URL and password returns error BIP1939 when you attempt to connect to a remote host name in Resolving problems when running commands.

  • -p port: The port on which the web user interface HTTP connection listener is listening. If you do not specify this parameter, the value 4414 is used.
-e integrationServerName
(Optional) The name of the integration server for which to start message flows. You must specify either -e or -g.

If you specify -e without -m or -j, the integration server is started. Message flows are started only if they were running when the integration server was stopped.

If you specify -e with -m or -j, the integration server must be running. If the integration server is stopped, the request is rejected.

-g
(Optional) The specified message flow or flows are started on all integration servers on the specified integration node. You must specify either -e or -g.

If you specify -g without -m or -j, all integration servers are started, but message flows are started only if they were running when the integration server was stopped.

If you specify -g with -m or -j, the specified message flow or flows are started only if the integration server is running. The request checks all integration servers, and starts message flows on integration servers that are currently running. Error BIP2851 is reported for each integration server that is not running.

-j

(Optional) All message flows in the specified integration server are started.

If you set this parameter, all message flows in the integration server are started, regardless of whether they are at the integration server level, in an application, or in a library. No applications are started. If you set the -j parameter with the -z parameter, all applications in the integration server are started, and the message flows that are at the integration server level or in libraries at the integration server level are started. The combination of -j and -z parameters does not start message flows inside applications, or message flows inside libraries inside applications.

If you do not specify -j or -m, the integration server identified by -e (if specified), or all integration servers on this integration node, are started. Message flows that were running when the integration server was last stopped are also restarted.

-k applicationName
(Optional) The name of an application to which to target a start request.

If you set the -k parameter, you must also set the -e parameter. If you set the -k parameter but do not set the -m parameter, the application is started. If you set the -m parameter, the named message flow in the application is started.

If you set the -j parameter with the -k parameter, all message flows in the application are started, including those in referenced libraries. Message flows in other applications or at integration server level are not started. The application is not started.

If you set the -k parameter with the -m or -j parameters, ensure that the application that is specified by the -k parameter is running. You cannot start message flows in an application that is not started.

You cannot set both the -k parameter and the -z parameter.

-m flowName
(Optional) The name of the message flow being started.
If you do not specify -m or -j, the integration server identified by -e (if specified), or all integration servers on this integration node, are started. Message flows that were running when the integration server was last stopped are also restarted.
-v traceFileName
(Optional) This parameter sends internal debug trace information to the specified file.
-w timeoutSecs
(Optional) This parameter specifies the time in seconds that the utility waits to ensure that the command completed; the default value is 60.
-y libraryName
(Optional) The name of a library to which to target a start request.

If you set the -y parameter, you must also set the -e parameter. If you set the -m parameter, the named message flow in the library is started.

If you set the -j parameter with the -y parameter, all message flows in the library are started. Message flows in other libraries or at integration server level are not started.

To start all flows in a specific library in an application, use the -y parameter with the -k parameter. When you use a combination of the -y and -k parameters, only flows in the named library in the named application are started. No flows are started at the application level, or in any other libraries in the application. No flows are started in any other application or at integration server level. The application is not started.

-z
(Optional) The -z parameter indicates that all applications in an integration server are to be started.

If you set the -j parameter with the -z parameter, all applications in the integration server are started, and the message flows that are at the integration server level or in libraries at the integration server level are started. The combination of -j and -z parameters does not start message flows inside applications, or message flows inside libraries inside applications.

Deprecation of the -q parameter

In previous versions of IBM® Integration Bus, you might have used the -q parameter for this command to define a connection to a queue manager. A queue manager connection is no longer used to connect to an integration node. The -q parameter is now deprecated, and is ignored if used. If you use the -q parameter, a BIP1922 warning is displayed.

Responses

This command returns the following responses:
0
The command completed successfully.
2
(Failure) The integration node received the deployment request but was unable to process it successfully. See the messages issued from the utility (or the Administration log) for more information.
9
(Failure) The request has been submitted to the integration node, but no response was received before the timeout expired.
10
(Failure) Another user or application canceled the request operation before the integration node was able to process it.
98
The integration node is not running.
99
One or more of the parameters that you specified is invalid.

Examples

Start a named message flow that you have deployed to integration server eg1 on the integration node IBNODE:

mqsistartmsgflow IBNODE -e eg1 -m simpleflow

Ensure that all message flows are running on the local integration node IBNODE:

mqsistartmsgflow IBNODE -g -j

Start the message flow myFlow1 in the application myApplication in the default integration server:

mqsistartmsgflow IBNODE -e default -k myApplication -m myFlow1

Start the message flow myFlow1 in the library myLibrary, which is referenced by the application myApplication, in the default integration server:

mqsistartmsgflow IBNODE -e default -k myApplication -y myLibrary -m myFlow1

Start all message flows and start all applications in the default integration server:

mqsistartmsgflow IBNODE -e default -z -j