javax.jms.Connection#start()
的真正用途是什么。根据 javadoc,它说:
Starts (or restarts) a connection's delivery of incoming messages.
但这到底是什么意思呢?我想这取决于实现,那么它在 IBM MQ(最新的 8+)中意味着什么?也许在客户端连接之后会预缓存服务器消息? 我检查了一些 examples生产者,他们正在调用 start 方法但从不读取消息。我在没有调用 start() 的情况下测试了代码,它工作正常(发送,不接收)。
我只是想了解 MQ,可能比需要的更多,但我仍然想知道。也许它在其他 JMS 实现中是如何完成的?像 Tibco、Apache MQ?也许有人知道?
最佳答案
正如文档中提到的,Connection.start 方法开始将消息从消息传递提供程序(在本例中为 MQ)传递到应用程序。如果不调用 Connection.start,消费者将无法接收消息。
发送消息不需要connection.start。查看 MQ 附带的 JmsConsumer.java 示例。它调用 connection.start。您可以发布无需调用 connection.start 即可接收消息的示例代码吗?
关于java - JMS 连接 - 启动方法(IBM MQ impl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053372/