Ibm mq 使用IBM集成总线从amqp通道发送和接收消息

Ibm mq 使用IBM集成总线从amqp通道发送和接收消息,ibm-mq,amqp,ibm-integration-bus,Ibm Mq,Amqp,Ibm Integration Bus,我是IBM产品的新手,我想知道实现以下集成解决方案的最佳方法是什么: 仅使用AMQP交换消息的第三方应用程序将消息放入入站队列(由IBM MQ管理) IBM集成总线(版本10)流将检索该消息 解析消息并调用RESTAPI,获取响应 解析响应,并将其发送回输出队列,以便第三方可以使用它 我的MQ同事(amqp为其新增)使用IBM MQ 9.0.4创建了相应的“amqp队列管理器;通道和主题”,并向我提供了连接信息 据我所知,我考虑创建一个使用“MQInput节点”的流,该节点将连接到第三方用来丢弃

我是IBM产品的新手,我想知道实现以下集成解决方案的最佳方法是什么:

  • 仅使用AMQP交换消息的第三方应用程序将消息放入入站队列(由IBM MQ管理)
  • IBM集成总线(版本10)流将检索该消息
  • 解析消息并调用RESTAPI,获取响应
  • 解析响应,并将其发送回输出队列,以便第三方可以使用它 我的MQ同事(amqp为其新增)使用IBM MQ 9.0.4创建了相应的“amqp队列管理器;通道和主题”,并向我提供了连接信息

    据我所知,我考虑创建一个使用“MQInput节点”的流,该节点将连接到第三方用来丢弃消息的队列,并继续我的处理

    不幸的是,我无法连接到该AMQP通道,既不能使用IIB v10上的“MQInput节点”,也不能使用“MQ资源管理器”

    我坚信我在该集成解决方案中遗漏了一些东西:mq端或iib端,但不知道是什么

    挑战是要知道,为了实现上述场景,组件IBMMQ和IBMIntegrationBus是否足够,或者我将介绍一些其他组件


    有任何文档或教程可以描述/解释这种情况吗?

    请求消息和响应消息是否有生命周期?例如,第三方应用程序是否期望在30秒内返回响应,如果在30秒内未收到响应,则不发送响应?IIB是否以绑定模式连接到本地队列管理器?如果是,第三方应用程序通过AMQP连接到的队列管理器是否与IIB连接到的队列管理器相同?您好。基本上,如果第三方在特定时间内没有收到响应,他将再次尝试发送请求。第三方有一个设置,如果没有响应,他将尝试发送X次,然后他将生成一个异常。关于IIB到MQ的连接,我通过google了解了您所说的“IIB以绑定模式连接到本地队列管理器”是什么意思,因此我可以告诉您队列管理器和IIB位于不同的主机上。IIb使用本地安装在我的计算机(windows 7)上的代理,队列管理器(MQ 9.0.4)位于linux服务器上。在MQ端,第三方应用程序使用与IIb相同的队列设置(队列管理器、通道、队列名称),唯一不同的是端口号。这回答了你的问题吗?谢谢,你用的是哪个版本的IIB?需要注意的一点是,AMQP客户端发布到主题而不是队列。“MQInput node”cat从队列或主题读取。在最简单的情况下,您可以通过客户端连接连接到队列管理器上的SVRCONN通道并订阅主题。然后,您将发布对AMQP客户端也订阅的主题的响应。