CDI新手问题。简单的测试场景:JSF + CDI SessionScoped beans。
我需要一种优雅的方法来实例化一组已知的会话作用域CDI bean,而不需要在JSF页面上提及它们或从其他bean中调用它们的方法。作为测试案例 - 一个简单的日志记录bean,它只是记录http会话的开始和结束时间。
当然,我可以创建一个空的JSF组件,将其放置在全站模板内,并使其触发所需会话bean的虚拟方法,但我认为这样有点丑陋。
我看到的另一个选择是选择一个单独的会话bean(它要么通过JSF中的EL完全初始化,要么通过其他bean的引用),并使用其@PostConstruct方法来触发其他会话bean - 这个解决方案比前一个要稍微好一些。
看起来我错过了什么,我会感激任何其他想法。
我需要一种优雅的方法来实例化一组已知的会话作用域CDI bean,而不需要在JSF页面上提及它们或从其他bean中调用它们的方法。作为测试案例 - 一个简单的日志记录bean,它只是记录http会话的开始和结束时间。
当然,我可以创建一个空的JSF组件,将其放置在全站模板内,并使其触发所需会话bean的虚拟方法,但我认为这样有点丑陋。
我看到的另一个选择是选择一个单独的会话bean(它要么通过JSF中的EL完全初始化,要么通过其他bean的引用),并使用其@PostConstruct方法来触发其他会话bean - 这个解决方案比前一个要稍微好一些。
看起来我错过了什么,我会感激任何其他想法。
HttpSessionListener
。您能提供一个真实的用例来说明您需要这样做吗? - Luiggi Mendoza