拥有一个 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/