【问题标题】:will org.jboss.seam.web.Session.invalidate destroys the EJB threads that are created by the xhtml's?org.jboss.seam.web.Session.invalidate 会破坏由 xhtml 创建的 EJB 线程吗?
【发布时间】:2012-08-06 14:15:37
【问题描述】:

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

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

Session.instance().invalidate();

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

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

【问题讨论】:

    标签: session jboss ejb seam logout


    【解决方案1】:

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

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

    @Destroy
    public void callMeWhenIDie(){
    log.debug("I'm melting, I'm melting" + this.someDefiningCharacteristic);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      相关资源
      最近更新 更多