J2EE应用程序/Bean配置最佳实践?

5
什么是管理属性集以应用于EJB并在不同机器/环境(例如DEV,TEST,PROD)之间轻松变化的最佳方法?例如,是否有一种方法可以在应用服务器上配置您的EJB属性(这保证您可以根据机器/环境进行变化)。
具体来说:
1)我有一个需要设置某些属性(环境)的Singleton EJB。是否有注释用于告诉EJB容器在哪里查找这些属性,并将其自动应用于bean?
2)管理不同的属性集(即dev,test,prod)的最佳方式是什么,以便J2EE应用程序在服务器之间具有可移植性,并且您可以无缝地管理每个服务器特定的属性?
如果有好的文档链接,请告诉我。我已经搜索过了,没有找到直接涉及以上问题的内容。
1个回答

2
我使用一个单例帮助类"PropertiesHelper",其中有一个Properties成员,并在第一次访问属性时从xml配置文件中读取。该帮助程序封装了整个配置设置,并防止它们被从磁盘读取超过一次。
文件位置在我的java opts中指定,并通过System.getProperty()由PropertiesHelper读取。
至于系统属性注释,我不认为Java本身支持这一点,但如果您有兴趣,可以查看一些AOP/依赖注入框架,如Google Guice,这些框架在这种“横切面”方面更好。

感谢您的回复。我希望能在应用服务器级别上得到一些东西,类似于配置数据库池和连接属性,这些属性被插入到应用服务器的持久化框架中使用。这是一个很好的设计,因为设置与应用服务器实例绑定,通常与特定环境(例如DEV、TEST、PROD)相关联。 - Sam Goldberg
我不知道有类似的东西,尽管我想它会被广泛使用。看起来它必须是一个应用服务器特定的产品,因为没有Java规范。如果你听到什么消息,请告诉我。 - jpredham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接