ActiveMQ文档指出Session和MessageProducer对象不是线程安全的。如果我有一组线程可以产生持久性消息,那么如何正确地将它们发送到ActiveMQ,以了解特定的发送操作是否成功?正确的ActiveMQ生产者并发性
- 为每个工作线程都有一个单独的Session/MessageProducer。
- 创建显式的生产者线程集并通过BlockingQueue将消息传递给它们(如何确定发送是否成功?)。
- 使用未来<>为前一种情况在ActiveMQ中获得持久消息的成功状态。
- 只需将每个MessageProducer.sendMessage()调用包装在同步块中即可。
或者,也许有这种情况下的任何最佳做法。谢谢。