0

JMS 单个会话可以有多个MessageProducer并使用每个MessageProducer并行吗?

例如:

p1= Session.createProducer(Queue1);
p2= Session.createProducer(Queue2);
thread1() {
p1.send();
}
thread2() {
p2.send();
}
4

1 回答 1

0

Session、MessageProducer 和 MessageConsumer 不是线程安全的。建议为每个线程设置单独的 Session。

您正在尝试在各种线程中使用相同的 Session 对象。如果无法避免(想不到这样的用例),则需要自己确保线程安全(通过标准的 java 同步机制)。

Connection 和 ConnectionFactory 是线程安全的。

于 2012-12-26T17:47:52.507 回答