用户出口使用户提供的定制软件可以跟踪通过 WebSphere Message Brokers 中消息流的数据。
在消息通过消息流的周期内,在特定点可以调用用户提供的函数,并且这些函数可调用实用程序函数以查询有关流中该点的信息,以及消息集合的内容。
上图中,MQInput 节点作为示例使用,但函数可应用于所有输入节点,包括用户定义的节点。然而,内置节点和用户定义的节点之间在调用用户出口的方式上存在细微差别。对于内置输入节点,一旦从外部源读取了数据便会调用用户出口。对于用户定义的输入节点,仅在节点传播消息前才会调用用户出口。
在上述示例中,事件 4 在事务结束时引发。 完成事务后调用用户出口,因此用户出口处理不是该事务的一部分。即使流没有完成事务性处理,也会调用用户出口。只要消息流属性“落实计数”大于 1,事件 1 和事件 4 之间的比率就为多对一。对于某些特定于特殊输入节点的方案,情况也是如此;例如,在 MQInputNode 配置为选定的“由消息组落实”属性时。
可注册多个用户出口;如果注册了多个,则它们按所定义的顺序调用(请参阅 mqsichangeflowuserexits 命令)。后继用户出口可看到用户出口对消息集合进行的任何更改。
用户出口可动态注册,且无需重新部署配置。