【发布时间】:2020-06-02 22:13:09
【问题描述】:
我有 2 个应用程序 A 和 B,试图将消息从两个应用程序发送到一个队列。 在将消息发送到队列的两个地方都放置了一个while循环。 如果我启动应用程序A并启动while循环它开始向队列发送消息并且消费者使用从A发送的消息,现在同时如果我从B应用程序启动while循环它不会将消息发布到队列,因为消费者不消费任何B发来的消息。
那么,如果消息同时从多个生产者发送到单个队列,那么有人可以解决这个疑问。
PS- 使用 IBM 队列并使用单个消费者。
【问题讨论】:
-
B 没有收到任何错误,是的,两者都在不同的 java 实例中运行。
-
挂起吗?正在使用什么版本的 mq jar。 qmgr 是什么版本的 mq?
-
回答您的直接问题 - 是的,您可以让两个不同的应用程序同时向队列发送消息。至于为什么您的设置没有实现这一点,我认为您可能需要向我们展示一些代码 - 生成代码和使用代码。
-
您在发送方运行的软件版本非常旧,MQ 7.5 几乎在两年前(2018 年 4 月 30 日)就停止了支持。 IBM 将提供额外三年的扩展支持,因此您可能属于该组。 7.5.0.7 维护版本本身于 2016 年 9 月 9 日发布,所以此时它已经快四年了。我强烈建议您改用较新的版本。
-
请注意,MQ v8.0 于 2020 年 4 月 30 日停止支持,MQ v9.0 于 2021 年 9 月 30 日停止支持。当您进行迁移时,您应该选择没有宣布结束的 9.1支持(他们至少提供五年,所以可能是 2023 年),或者选择应该在今年晚些时候发布的下一个 MQ 版本。
标签: java ibm-mq spring-jms