现有场景:两个应用程序正在使用队列进行通信。其中一个始终是生产者,另一个始终是消费者。
“生产者”生成数据并将其保存在自己的存储中。然后它使用队列将其发送给消费者。
我对 JMS 消费者(和侦听器)实现(使用 Spring)的了解越多,似乎我们可以轻松地将消息传递替换为轮询 Web 服务调用。
这是因为 JMS 监听器所做的只是保持线程打开,监听队列。因此,如果您的 JMS 侦听器 ConnectionFactory 设置为有 10 个连接,那么您将有 10 个阻塞线程。
因此,与其保持 10 个线程打开,不如使用 1 个线程每 30 秒左右轮询一次。一个 Poll 可以指示 WebService 在响应中向它发送 100 个数据项(或更多)。