因为项目需要,我们将项目打成war包后,比如是aaa.war,再复制一份重命名为bbb.war,同时部署到jboss里面去,两个包中的内容完全相同,唯一不同的是配置文件,因为配置文件决定了包的属性和访问的页面,我在初始化servlet的时候,将配置文件进行加载,代码如下:public class AuthConfFactory { private static Document document; public static Document initDocument(String path) {
if (null == document) {
InputStream fs = null;
File file = new File(path);
try {
fs = new FileInputStream(file);
document = Dom4jUtil.loadXML(fs);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fs != null)
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return document;
}
/*
* 根据xPath取配置文件
*/
public static String getValueByPath(String xPath) {
Document document = getDocument();
String value = null;// propertyMap.get(xPath);
if (value == null) {
Element element = Dom4jUtil.getElement(document, xPath);
value = element.getText();
// propertyMap.put(xPath, value);
}
return value;
}
}
但是出现一个问题,这里是静态的变量,当加载后,就不会加载,当加载了aaa.war中的配置文件后,bbb.war中就不会加载,然后访问bbb.war服务,获取的配置信息就是aaa.war中的信息。
有没有办法解决,aaa.war和bbb.war分别读自己的配置信息?
if (null == document) {
InputStream fs = null;
File file = new File(path);
try {
fs = new FileInputStream(file);
document = Dom4jUtil.loadXML(fs);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fs != null)
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return document;
}
/*
* 根据xPath取配置文件
*/
public static String getValueByPath(String xPath) {
Document document = getDocument();
String value = null;// propertyMap.get(xPath);
if (value == null) {
Element element = Dom4jUtil.getElement(document, xPath);
value = element.getText();
// propertyMap.put(xPath, value);
}
return value;
}
}
但是出现一个问题,这里是静态的变量,当加载后,就不会加载,当加载了aaa.war中的配置文件后,bbb.war中就不会加载,然后访问bbb.war服务,获取的配置信息就是aaa.war中的信息。
有没有办法解决,aaa.war和bbb.war分别读自己的配置信息?
解决方案 »
- hibrnate如何实现分页,并且要倒序。就像留言板留言一样。
- 关于quartz配置问题
- hql语句有问题
- 关于JDBC的连接
- 询问一个关于公共模块设计模式的问题
- hibernate返回值
- 我的学习笔记——基础报表制作3
- 有什么好的值得看的JAVA书?
- 在jb9里把struts升级到1.1,为什么运行显示错误信息:未找到外部实体“http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd”
- 参照分布式和企业系统结构、及应用开发的重点明显地转向基于构件的应用开发,讨论基于构件应用开发的未来趋势
- Java高手来看看哪里出错了(将一个List里面没有重复的元素放在一个HashMap里面)
- hibernate同时操作多个更新方法
楼下请用事实说话。