簡體   English   中英

異步EJB 3.1方法和事務

[英]Asynchronous EJB 3.1 methods and Transactions

我編寫了一個小測試來使用@Asynchronous注釋來理解EJB3.1中的異步行為。 看起來:

如果該方法與調用者存在於同一個bean中,

  1. 呼叫不再是異步的。
  2. 如果異步方法中的事務被回滾,則調用者事務被標記為回滾; 它可能是1的副作用。

但是,如果異步方法存在於另一個bean中,則行為是預期的,即調用是異步的並且調用者事務是獨立的(異步方法具有事務的REQUIRES_NEW行為)。 這對我來說很困惑,因為在這兩種情況下行為都不一樣。 請有人澄清一下嗎?

PS環境EJB 3.1,JBoss 6

使用this關鍵字而不是使用SessionContext#getBusinessObject(class)調用該方法會導致該問題。 這里解釋了差異)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM