Alb*_*aur 2 java tomcat classloader
我使用以下方法从classpath加载属性文件:
String cheminFichier = new StringBuilder(100).append(classeBP.getPackage().getName().replace(".", "/")).append(File.separator).append(
REPERTOIRE_MAPPING).append(nomFichier).append(".properties").toString();
InputStream isMapping = Thread.currentThread().getContextClassLoader().getResourceAsStream(cheminFichier.toString());
if (isMapping == null)
{
throw new ServiceMappingException("Erreur lors du chargement du mapping du service. Le fichier "
+ cheminFichier + " n'existe pas.");
}
else
{
Properties mapping = new Properties();
try
{
mapping.load(isMapping);
}
catch (IOException e)
...
}
Run Code Online (Sandbox Code Playgroud)
好的,这是工作.但是,如果我在运行Tomcat时修改属性文件的内容,则会忽略更改.它不像课程一样热重新加载.
我的上下文配置了reloadable="true"选项,Thread.currentThread()返回了类加载器.getContextClassLoader()是WEBAPP类加载器(不是系统类加载器或其他).
我读过可以使用ServletContext.getResourceAsStream,但我无法访问servlet上下文.
这是Tomcat 5.5.
任何的想法 ?如果没有,您是否有强制重新加载特定资源(我的属性文件)的解决方案?
谢谢 !
| 归档时间: |
|
| 查看次数: |
15186 次 |
| 最近记录: |