我的应用程序中有一些行为,我无法理解。我有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消息...
感谢澄清
奥利维尔