2

Bean管理のtxnsを使用するセッションBeanがあります。このBeanには、すべての処理を処理するPOJOに制御を委任するだけの1つのビジネスメソッドがあります。ここで、このPOJOはトランザクション(UserTransaction)を開始および終了します。

ここで問題となるのは、POJOで新しいスレッドにまたがって、一度に40または50のタスクを処理する必要があるときに新しいスレッドを作成できるようにすることです。

J2EE1.4でEJB2.1を使用しています。

ご意見をお聞かせください。

よろしく。

4

1 に答える 1

1

私が正しく理解していれば、pojoをスレッド化する必要はありません

コンテナは自然にスレッド化されます。コンテナに送信されるさまざまなリクエストには、それぞれスレッドが割り当てられています。

割り当てられたスレッド内では、呼び出しシーケンスはセッションBeanからpojoに移動し、スレッドはまだ使用されています。あなたのpojoはすでにマルチスレッドの方法で呼び出されています。


実際に行う必要があるのは、Pojoコードがマルチ読み取り可能であることを確認することです(ただし、スレッドを生成しないようにします)。

  1. pojoインスタンスはマルチ読み取り可能です。つまり、次のようになります。

    • フィールドなし
    • ..。
  2. それ以外の場合、pojoインスタンスがマルチ読み取り可能でない場合は、呼び出しごとに新しいPojoインスタンスを作成するだけで、すべてが正常に機能します。

于 2009-09-11T12:22:38.423 に答える