管理属性集以应用于 EJB 并轻松地在机器/环境(例如 DEV、TEST、PROD)之间改变它们的最佳方法是什么?例如,有没有办法在应用服务器上配置您的 EJB 属性(这保证您可以根据机器/环境改变它们)。
具体来说:
1)我有一个需要特定属性集(环境)的单例 EJB。是否有用于告诉 EJB 容器在哪里查找这些属性并自动将它们应用于 bean 的注释?
2) 管理不同属性集(即 dev、test、prod)的最佳方法是什么,以便 J2EE 应用程序可以在服务器之间移植,并且您可以无缝地管理特定于每个服务器的属性?
如果有任何好的文档链接 - 让我知道。我用谷歌搜索了一下,没有直接看到上述几点。
最佳答案
我使用具有 Properties 的单例助手类“PropertiesHelper”成员并在第一次属性访问尝试时从 xml 配置文件中读取。帮助程序封装了整套配置设置,并防止它们从磁盘中被多次读取。
文件位置在我的 java opts 中指定,并由 PropertiesHelper 使用 System.getProperty() 读取
至于系统属性注释,我不相信 Java 本身就支持这一点,但如果你愿意,你可能想看看一些 AOP/依赖注入(inject)框架,如 Google Guice哪个更擅长这种“横切”。
关于configuration - J2EE 应用程序/Bean 配置最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226139/