Running applications in the IBM MQ MQI client environment
We can run an IBM MQ application both in a full IBM MQ environment and in an IBM MQ MQI client environment without changing your code, provided that certain conditions are met.
These conditions are that:- The application does not need to connect to more than one queue manager concurrently.
- The queue manager name is not prefixed with an asterisk (*) on an MQCONN or MQCONNX call.
- The application does not need to use any of the exceptions listed in What applications run on an IBM MQ MQI client?
Note: The libraries that we use at link-edit time determine the environment in which the application must run. When working in the IBM MQ MQI client environment, remember that:
- Each application running in the IBM MQ MQI client environment has its own connections to servers. An application establishes one connection to a server each time it issues an MQCONN or MQCONNX call.
- An application sends and gets messages synchronously. This implies a wait between the time the call is issued at the client and the return of a completion code and reason code across the network.
- All data conversion is done by the server, but see also MQCCSID for information about overriding the machine's configured CCSID.
- Connect IBM MQ MQI client applications to queue managers
An application running in an IBM MQ MQI client environment can connect to a queue manager in various ways. We can use environment variables, the MQCNO structure, or a client definition table. - Triggering in the client environment
Messages sent by IBM MQ applications running on IBM MQ MQI clients contribute to triggering in exactly the same way as any other messages, and they can be used to trigger programs on both the server and the client.
Parent topic: Writing client procedural applications