有没有办法打断有状态会话bean?

时间:2011-05-27 13:34:10

标签: java timeout ejb-3.0 stateful-session-bean

这个问题与Handling a timeout in EJB3 without using threads有些相关。

背景: 我有一个操作的例子可能会在它运行时锁定,我必须能够处理这种可能性并在发生这种情况时终止操作。解决方案必须与应用程序服务器无关,因此不能选择具有timout值的容器管理事务。

实际问题: 解决方案的一个想法是我在有状态会话bean中运行操作,并使用外部@Timeout方法来监视它,但为了使其工作,我需要能够中断或取消该会话bean。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

规范说(§4.3.14):

  

容器序列化对每个的调用   有状态和无状态会话bean   实例。大多数容器都会支持   会话bean的许多实例   并发执行;然而,每一个   实例只看到序列化   方法调用序列。因此,一个   有状态或无状态会话bean   不必编码为   折返。

因此,当同一实例的另一个方法仍在运行时,无法调用会话bean实例的方法。