我的應用程序中有一些行爲,我無法理解。我有1個有狀態bean,1個無狀態bean,我想從SLB(解析WEB頁面)的SFB 1方法調用。沒關係,但SLB調用將JMS消息發送到另一個應用程序的業務方法,並且由於事務類型(必需)而同時接收所有消息。瞭解EJB事務類型
因此,我將sendind方法的事務類型更改爲REQUIRES_NEW,但它是相同的,所有消息都在同一時間接收。
通過將解析方法更改爲REQUIRES_NEW,我異步接收消息。那麼如何解釋這種行爲呢?
總結:
SFB method -> REQUIRED
SLB method (parsing of WEB page, urls stored in String[]) -> REQUIRED
SLB method JMS -> REQUIRED
==> JMS messages are received synchronously
SFB method -> REQUIRED
SLB method -> REQUIRED
SLB method JMS -> REQUIRES_NEW
==> JMS messages are received synchronously
SFB method -> REQUIRED
SLB method -> REQUIRES_NEW
SLB method JMS -> REQUIRES_NEW
==> JMS messages are received asynchronously
我預期的情況下2發送異步JMS消息...
感謝澄清
奧利維爾