【问题标题】:Destroying session bean during lifecycle or at any phase在生命周期或任何阶段销毁会话 bean
【发布时间】:2012-10-19 08:06:51
【问题描述】:

嗨,我想在特定时间销毁我的 bean。有没有一种方法可以捕获活动 bean 并将其所有值设置为 NULL,例如如果我有一个方法,那么我希望 bean 将在方法执行结束。我该怎么做?

【问题讨论】:

  • 您可以使用 JSF 2.0 事件。请提供有关“特定时间”和 bean 范围的更多详细信息。这似乎是 Conversations 范围的用例。
  • 我已经编辑了问题,请参阅
  • 它是会话范围的 bean 吗?您可以使用请求范围的 bean 或会话范围的 bean。在第二种情况下,您可以结束对话。您使用 JSF 托管 bean 还是 CDI bean?在 CDI 中,您可以使用 @Remove 注释来注释方法。
  • 好的,让我检查一下保护和 CDI 范围。因为请求范围没有满足我的要求
  • 只使用视图范围。另见stackoverflow.com/questions/7031885/…

标签: jsf jakarta-ee jsf-2


【解决方案1】:

您可以在不同的阶段使用 Bean。如果您希望在这些阶段进行处理,那么您可以使用 PhaseListener 来实现此目的。有了这个接口和它的方法,你可以得到不同阶段的bean。Here is the detailed link about phases
希望对你有帮助。有不清楚的欢迎追问:)

【讨论】:

  • 我应该在哪里调用这个类?
  • 这个类将在每个阶段本身之后被调用。你只需要在 faces-config.xml 中注册它。查看我发布的链接。你会在那里得到一个很好的细节
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 2018-11-18
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多