JMS单会话可以有多个MessageProducer吗?

时间:2012-08-13 07:39:09

标签: java jms

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

例如:

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

1 个答案:

答案 0 :(得分:0)

Session,MessageProducer和MessageConsumer不是线程安全的。建议每个线程都有单独的Session。

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

Connection和ConnectionFactory是线程安全的。