Brief introduction
IBM WebSphere MQ Messaging provider in IBM WebSphere Application Server V7 provides complete support for Java™ channel exports. Exit is the user code that runs at the specified point in the IBM®WEBSPHERE®MQ channel lifecycle. There are many possible uses for channel exits, including auditing, security, compression, conversion, and so on.
In the previous version of WebSphere application Server, channel exits were not fully supported and must be configured with custom properties. In the WebSphere application Server V7, channel exits can be specified by using the administrative console or administrative commands to configure the connection factory and activation specification, or by using the Client Channel Definition table (CCDT) entry.
Channel Exit Type
WebSphere MQ message providers support three different channel exits: secure, send, and accept exports. Each type of exit is invoked at different points in the client connection channel, as shown in table 1.
Table 1. Channel Exit call time
Export Type |
When to call a constructor |
Safe exit |
When the channel is initialized. If you receive a secure stream from a secure exit that is installed in the server connection channel. |
Send Export |
When the channel is initialized. Before any data is sent to the queue management program. |
Receive Export |
When the channel is initialized. After the data is received from the Queue manager, and before the data is passed to the application. |
Send and receive export support chains; You can specify multiple send and receive exits for WebSphere MQ message provider resources. If a chain is used, the first exit in the call chain is passed, and the returned data is delivered to the next exit in the chain. The operation continues until all exits are invoked, and then the data is sent to the appropriate queue manager or client.
As noted above, if a secure exit on the corresponding server connection channel sends a security flow, only the security exits installed on the secure export WebSphere MQ message provider are invoked. Because a secure exit is invoked only when the channel is started, a secure exit is ideal for performing functions that need to be performed only once. As the name suggests, this usually means performing validation. Figure 1 shows the safe exit that will be invoked when the driver is started.
Figure 1. Safe Exit Call