【问题标题】:IBMMQ push subscription : Is there a way in springboot/quarkuks/other to use push subscription? Not pollingIBM MQ 推送订阅:spring boot/quarkus/other 有没有办法使用推送订阅?不轮询
【发布时间】: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


【解决方案1】:

您可以使用 vert.xAMQP client 来使用来自 IBM MQ 的消息。这是一个反应式工具包,它将为您提供一种使用 AMQP 通道与 IBM MQ 进行通信的简单方法。 Vert.x 的 AMQP 客户端监听并响应来自 IBM MQ 的推送。

【讨论】:

  • Q1:顶点客户端是轮询 IBMMQ(坏),还是监听并响应来自 IBMMQ 的推送?
  • @Espresso 查看更新后的答案
  • 有vertx、IBMMQ、TLS的例子吗?
  • @Espresso 不是我所知道的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 2021-12-05
  • 1970-01-01
  • 2014-10-13
相关资源
最近更新 更多