IBM MQ
使用 IBM® App Connect Enterprise 工具包来配置由 IBM、 App Connect Professional 和 MQ 活动转换而来的消息流节点。
关于此任务
导入包含 MQ 活动的协调时,转换实用程序会创建一个包含 MQInput、 MQGet 和 MQOutput 节点的消息流。 有关每项活动使用哪些节点的信息,请参见表 1。
| IBM App Connect Professional 活动 | IBM App Connect Enterprise 节点 |
|---|---|
| Get message | |
| Put message | |
| Poll message |
IBM、 App Connect Professional 与 IBM App Connect Enterprise 之间的区别
- 在 IBM App Connect Professional 中,默认连接为远程连接,无需选择连接类型。 不过,在 IBM App Connect Enterprise 中,您必须将连接类型指定为“本地”、“ IBM MQ 客户端(远程)”或“CCDT文件”。
- 在 IBM App Connect Professional 中,对于 IBM MQ 连接, 用户名字段是必填的。 而在 IBM App Connect Enterprise 中,提供凭据是可选的。
连接 IBM MQ
关于此任务
- IBM MQ 连接
- 策略项目
IBM MQ 连接
过程
在 IBM App Connect Enterprise 中为 IBM MQ 连接创建安全标识(DSN)
过程
IBM MQ 政策项目
关于此任务
按照以下步骤创建策略项目:
过程
- 转到文件 → 新建 → 选择策略项目。
- 命名该文件。例如,MQPOLICY
- 右键单击项目,选择新建 → 策略。
- 选择类型和模板为 MQEndpoint。
- 从下拉菜单中选择连接

示例

部署政策项目:
- 创建后保存策略项目。
- 在部署主项目之前,将其部署到集成服务器。
注:
- 策略中设置的属性将覆盖“ IBM MQ ”的“连接”选项卡中设置的相应属性。
- 如果未指定策略 MQEndpoint ,则使用在 IBM MQ 的“连接”选项卡中设置的属性值。
- 指定策略项目和策略的名称,格式为
{policyProjectName}:PolicyName。
示例:
用于 Get、Put 和 Poll 消息活动的 MQInput、 MQGet 和 MQOutput 节点。
关于此任务
信息流示例如下
MQInput 节点 → MQGet 节点 → MQOutput 节点
过程
示例
- 输入队列名称: MyQueue
- 输出队列名称:本地
从前一个节点中检索数据,以便在 IBM MQ 节点中使用
关于此任务
输入的 JSON 格式如下
{
"Name": "John",
"Age": 30
}计算节点代码如下:
CREATE COMPUTE MODULE MQMsgFlow_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- Declare variables
DECLARE inputJson CHARACTER;
DECLARE name CHARACTER;
DECLARE age INTEGER;
-- Initialize the output tree
SET OutputRoot = NULL;
-- Copy the MQMD header from InputRoot to OutputRoot
SET OutputRoot.MQMD = InputRoot.MQMD;
SET OutputRoot.MQMD.Format = 'MQSTR';
-- Parse the JSON data from InputRoot
SET inputJson = CAST(InputRoot.JSON.Data AS CHARACTER);
-- Extract fields from JSON
SET name = InputRoot.JSON.Data.Name;
SET age = InputRoot.JSON.Data.Age;
-- Build the XML structure in the XMLNSC domain
SET OutputRoot.XMLNSC.Message.Person.Name = name;
SET OutputRoot.XMLNSC.Message.Person.Age = age;
RETURN TRUE;
END;
END MODULE;
输出的 XML 看起来是这样的
<Message>
<Person>
<Name>John</Name>
<Age>30</Age>
</Person>
</Message>IBM MQ 资源管理器结果:
在 IBM MQ 中配置消息详细信息
关于此任务
在 IBM App Connect Professional 中,您可以直接在检查表 → 配置 → 信息详情下配置 Payload Data Type 和 Message Type 属性。 不过,在 IBM App Connect Enterprise 中,可以通过使用 “计算” 节点来设置这些属性。
可以通过编辑以下项目配置有效载荷数据类型:
Binary - 将 MQMD.Format 设置为""(空格或 8 个空格)
String - 将 MQMD.Format 设为 MQSTR;
Message Type:
Datagram - MQMD.MsgType = MQMT_DATAGRAM;
示例

计算节点代码如下:
CREATE COMPUTE MODULE mqflowsample_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- Pass input message to the output
SET OutputRoot = InputRoot;
-- Ensure the MQMD header exists
IF OutputRoot.MQMD IS NULL THEN
CREATE FIELD OutputRoot.MQMD;
END IF;
-- Set MQMD.Format to Binary
SET OutputRoot.MQMD.Format = ' '; --or empty
-- Set MQMD.MsgType to Datagram
SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM;
RETURN TRUE;
END;
END MODULE;在流程练习器中,您可以查看 MQMD 属性,包括 Format 和 MsgType。






