java - 部署 Web 应用程序时仅读取 .properties 文件一次

标签 java servlets configuration properties jboss7.x

拥有一个 Java 网络应用程序,如何在部署应用程序时只读取一次属性文件(稍后将它们存储在某个单例中)?这意味着,配置更改需要重新部署。

否则,是否有其他方法可以防止应用程序不断读取 .properties 文件?以前我在我的 web.xml 文件中有设置,但现在需要 .properties。

用于从 JBoss 配置路径读取应用程序设置的代码:

File f = new File(System.getProperty("jboss.server.config.dir"), 
                  "myappsettings.properties");
Properties p = new Properties();
p.load(new FileInputStream(f));
try {
   db_name = p.getProperty("DATABASE_NAME"));
   file_path = p.getProperty("FILE_PATH"));
   ...
} catch (Exception e) {
   ...
}

最佳答案

从 JEE6 开始,ServletContextListener 的另一种替代方法可能是使用单例启动 bean:

@Singleton
@Startup    
public class PropertyRegistry {

  @PostConstruct
  private void init(){
    //do something
  }
}

关于java - 部署 Web 应用程序时仅读取 .properties 文件一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11948321/

相关文章:

java - Java 中的线程说明

java - Java 中的 URL 问题

java - super() 是 class2 的第一行,但给出了非法的类型开始

java - Spring MVC web.xml 的 DispatcherServlet 实例每个 url 映射

ASP.NET 样板 token 过期

configuration - 如何在 VS 2010 中更改轮廓悬停颜色?

java - MVC 与 Netbeans 表单生成器

java - 如何在netbeans中使用servlet和jsp根据第一个下拉列表中的类别选择在下拉列表中显示相关子类别?

java - Google App Engine 上的 ServletContext 类路径中的 "context"在哪里?

c# - Windows 10 中缺少 makecert.exe,如何获取和使用它