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 オブジェクトを使用しようとしています。回避できない場合 (そのようなユースケースが思いつかない場合) は、(標準の Java 同期メカニズムを介して) 自分でスレッドの安全性を確保する必要があります。

Connection と ConnectionFactory はスレッドセーフです。

于 2012-12-26T17:47:52.507 に答える