我有一种感觉,我混合了EJB和JSF管理bean的责任,但是我想要的是一个计划任务EJB (@Singleton
和@Schedule
),它可以访问我的JSF应用程序作用域bean。
具体来说,我有一个JSF @ApplicationScoped
bean,它根据它是在开发、测试还是生产中发送不同的电子邮件。我想把这个设置成每24小时发一次邮件。实现这一目标的最佳方式是什么?
将业务层(EJB)设置为依赖于表示层是糟糕的设计。相反(Web层取决于业务层)是经过时间考验的最佳实践。
EJB层是为web层提供服务的。您的用例试图使web层向EJB层提供服务。在我看来,这种需求太微不足道了,无法做出这样的妥协。相反,我建议将所需的配置外部化到应用程序中两个层都可以访问的安全位置中的.properties
文件中。