我在 Glassfish 中有一个关于处理设置 Web 应用程序的属性的问题我们正在从使用 Jetty 转移到在 Amazon AWS 上使用 GlassFish 设置集群环境
按照惯例,在处理 Servlet 时,当您想要解析环境变量时,您应该使用 .properties 文件,但是当您使用分布式环境时,这会导致问题(您必须将 .properties 文件放置在每个集群节点中)。GlassFish 能够通过其管理控制台配置 Web 容器的属性,这意味着这些属性将通过集群自动分发
问题是,我在检索变量时遇到了随机行为。第一次运行测试应用程序时,我无法检索变量,但是它不再起作用
基本上我是通过管理 UI 设置环境变量。在 Configurations 下有 3 个配置项,一个用于集群(通常命名为 .config),一个 default-config 和一个 server-config。在 Web Container 下,我在所有 3 个名为“someVal”的文件中都放置了一个测试属性。
然后,我在 Scala(使用 Servlet 2.5)中创建了一个快速的 Scalatra 应用程序,并使用这一行来尝试获取属性
getServletContext.getInitParameter("someVal")
任何想法我做错了什么,它总是返回null?
更新 看来我试图做的不是“正确”的做事方式。所以我的问题是,在处理 GlassFish 中的集群时,提供特定应用程序设置(在 .war 之外和运行时之外)的标准方法是什么。myfear 表示使用数据库是标准方法,但是我使用这些配置设置本身来定义 JDBC 连接