2011-07-27 60 views
0

#1 - 存储Web应用程序配置的常见位置,在应用程序重新启动并重新部署后需要保留该位置?它必须位于Web应用程序目录之外的某个位置,以避免部署新战争时被覆盖。我发现的一个例子是,对于启动Web容器的用户,始终使用$ HOME/.my_app_name,但如果用户更改,该怎么办?所有配置都会丢失。j2ee web应用程序的特定于应用程序的配置/属性/ APP_HOME的放置位置?

#2 - 如果它是动态的,通知我的webapp这个位置的常用方法是什么?

这是我所能找到的唯一例子,但我还没有找到任何正式的说明。 http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson

回答

0

我知道它需要可写吗?所以类路径是没有问题的。

提供路径作为JVM启动参数:

-Dconfig.location="/path/to/config/files"

这种方式是通过提供System#getProperty()

String configLocation = System.getProperty("config.location"); 
File configFile = new File(configLocation, "config.properties"); 
// ... 

在您的webapp的安装/使用手册中正确记录它。相应地实现您的代码,只要该属性丢失或者该路径不存在或不可写,以至于可以通过sysadmin轻松修复该路径,就会抛出水晶般清晰的运行时异常。