6
我使用@Asynchronous
註釋編寫了一個小測試,以瞭解EJB3.1中的異步行爲。看來:異步EJB 3.1方法和事務
如果該方法在同一個bean作爲主叫存在,
- 呼叫不再異步。
- 如果回滾異步方法中的事務,則調用方事務標記爲回滾;它可能1.
然而,如果異步方法在另一個bean存在,行爲預計即呼叫的副作用是異步的,並且呼叫方的交易是獨立的(異步方法具有用於交易REQUIRES_NEW行爲)。這令我感到困惑,因爲這兩種情況下的行爲都不一樣。有人請澄清?
P.S.環境EJB 3.1,JBoss 6
你是否使用'SessionContext#getBusinessObject(class)'調用方法而不是使用'this'關鍵字? (差異是解釋[這裏](http://stackoverflow.com/questions/3381002/how-is-the-return-value-of-sessioncontext-getbusinessobject-different-from-thi/3384128#3384128)) – stratwine
@ stratwine幾乎可以肯定的問題,我只是將其轉換爲答案。 –
@stratwine您是對的,請在回答中寫下您的意見,以便我可以接受 – anergy