【发布时间】:2022-01-24 19:28:27
【问题描述】:
推送订阅
springboot 或 quarkus(或其他框架)有没有办法使用 push-subscription 来消费来自 IBMMQ 的消息。即不是每分钟轮询一次以查看消息是否存在。
不必是 JMS api。
springboot 中的 DefaultJms... 的轮询次数是每天实际消息的 1000 倍。它的行为不像'监听器等待消息推送'
【问题讨论】:
-
@JoshMc,请参阅有问题的更新部分
-
对不起,我把它颠倒了,它是你想要异步消费的 SimpleMessageListenerContainer。 DefaultMessageListenerContainer 确实背靠背同步获取,但您可以增加接收超时以降低频率,请参阅blog。
-
@JoshMc,是的,我看到了那个博客,这就是为什么我很惊讶为什么 Default... 会起作用。我将尝试 Simple .. 如果它仍然轮询,我将放弃 JMS 并查看直接 mq 库是否在春季工作。谢谢。
-
IBM MQ Java 类仅支持同步调用,还可以设置等待时间。您仍然会以同样快的速度收到消息,它只会阻止 get 调用,直到它收到消息或根据等待时间超时(JMS 中的接收超时)。
标签: spring-boot ibm-mq quarkus spring-jms