I以下のケースました:EJBシングルトンは - スレッドが終了した後、「トランザクションがアクティブでない」
スレッドの非同期処理が終了する、例外がライン15でスローされますがトランザクションはアクティブではありません。
"doAnything()"メソッドを数分間実行するとエラーが発生するため、トランザクションタイムアウトを設定していることに注意してください。実行に1〜2分かかると、エラーは発生しません。ただし、タイムアウトの設定は機能しませんでした。
ありがとうございました。
I以下のケースました:EJBシングルトンは - スレッドが終了した後、「トランザクションがアクティブでない」
スレッドの非同期処理が終了する、例外がライン15でスローされますがトランザクションはアクティブではありません。
"doAnything()"メソッドを数分間実行するとエラーが発生するため、トランザクションタイムアウトを設定していることに注意してください。実行に1〜2分かかると、エラーは発生しません。ただし、タイムアウトの設定は機能しませんでした。
ありがとうございました。
このBeanは不正です。新しいスレッドを開始することはできません。そうすることでコンテナの背後に移動し、トランザクション管理、セキュリティ管理などを失うことになります。
how transaction propagation works under the covers
の詳細については、この答えを参照してくださいも、あなたが複数のスレッドにまたがるトランザクションを持つことができない@Asynchronous
で、どのようにすることができますuse @Asynchronous instead of starting your own threads
注この回答を参照してください。それをサポートすることができないので、仕様で許可されていないのはTransactionManager
です。
非同期処理にスレッドを使用する代わりに、 '@ Asynchronous' –