为什么QueueSession在JMS中只能创建一个接收者?
我可以让一些发送者发送一些消息,但是当我在一个会话中创建两个接收者时,第一个接收者有效,第二个接收者被阻止。在调试中,我看到第二个接收器收到的队列列表大小为零。我发现session是为一个线程创建的,不知道这个问题是否涉及到不安全线程?
我使用ActiveMQ实现。
I can make some senders to send some messages, but when I create two receivers in one Session, the first one works and the second one blocked. In debug, I see the queue list size which the second receiver received is zero. I found that session is made for one thread, I don't know whether this problem involves in the unsafe thread?
I use ActiveMQ implementation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JMS 会话绝对是单线程的。因此,它只能有一个活动接收器。您有 2 个选择:
请参阅此问题。
A JMS Session is absolutely single threaded. As such, it can only have one active receiver. You have 2 options:
See this question.