用于捕获请求和发送响应的MQJExplorer工具的替代方案



我有一个应用程序,它使用IBM MQ在队列管理器中将请求发送到特定的system B。然后,应用程序在同步调用中从system B接收回与该请求相对应的响应,然后进行进一步的业务处理。

由于我们在海上区域工作,我们实际上并没有向system B发送请求,而是自己使用MQJExplorer工具捕获请求并发回响应,这在某种程度上模拟了产品的行为。

这里的问题是,或者我想说,开销是,我们必须手动打开mqjexplorer工具,检查请求,从请求中获取特定属性(比如ID(,并发回ID+1,以便应用程序识别出响应是针对ID-1请求的。

我想知道这个特定的东西是否可以通过其他工具实现自动化,在这里我可以定义任何此类请求,例如:MQ001队列管理器及其REQ队列,只需提取ID属性,执行ID+1并在相同qm的RESP队列中发回响应。

IBM MQ附带了一对IBM提供的示例:-

  • amqsreq0.c-示例C程序,它将请求消息放入消息队列并显示回复(例如使用REPLY队列(
  • amqsecha.c-示例C程序-回显消息以回复队列

提供它们是为了允许您尝试请求/回复应用程序。

您已经有了等效的应用程序来完成amqsreq0.c所做的工作,您可以调整amqsecha.c来提取ID属性,并对其进行增量,然后示例已经有了发送回复的代码。

它也可以通过作为触发应用程序运行来实现自动化。

如果你不喜欢"C"语言,并且更喜欢Java,那么请阅读我2017年的一篇博客文章。这是一个完整的请求/回复场景,包含两个应用程序:BEServer01.java和RQClient01.java

您可以根据自己的喜好修改BEServer01.java(并删除SQL代码(。BEServer01.java包含用于获取请求消息和发送回复消息的所有代码。只需将变量"replyText"内容替换为所需的回复消息即可。

如果你不是程序员,那么还有另一个选项,但它不会修改消息内容。MQ Visual Edit有一个名为:SIM Server的组件。其目的是模拟服务器端组件。您可以配置从哪个"请求"队列获取消息以及回复消息文本。当消息到达请求队列时,SIM服务器将检索它并将回复消息发送到队列&在MQMD的ReplyToQueueName和ReplyToQueueManagerName字段中指定的队列管理器。

相关内容

  • 没有找到相关文章

最新更新