0

我正在开发一个 web 应用程序,一旦用户登录,主(或登录)页面就会调用 4 个有状态会话 bean。因此,一旦用户登录,就会创建至少 4 个有状态会话 bean 线程。该页面还有一个注销按钮。xhtml 中的注销组件调用具有注销方法的 POJO。

在注销方法中,执行以下语句:

Session.instance().invalidate();

现在的问题是,用户登录时创建的有状态会话 bean 的 4 个线程/实例是否会被销毁。

我在 JBOSS 4.2.3、Seam 2.2.1 Final 上运行此应用程序我使用 JOSSO 进行身份验证。

4

1 回答 1

0

是的,它们都是同一会话的一部分。您实际上是在创建会话范围的 bean,而不是单独的会话。

很容易检查。在每个会话 bean 中创建一个方法,并用 @Destroy 对其进行注解,当被注解的 bean 被销毁时,它会调用该方法。

@Destroy
public void callMeWhenIDie(){
log.debug("I'm melting, I'm melting" + this.someDefiningCharacteristic);
}
于 2012-08-08T04:14:34.407 回答