我需要在JSF Web应用程序中读取包含一些配置数据的属性文件。
现在代码看起来像这样
private Properties getConfig() {
Properties properties = new Properties();
InputStream inputStream = null;
try {
inputStream = this.getClass().getResourceAsStream("/config.properties");
try {
properties.load(inputStream);
} catch (IOException e) {
logger.error("Error while reading config properties", e);
}
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}
return properties;
}
这样做是否安全,或者在多个线程调用getConfig()时遇到并发问题?
答案 0 :(得分:4)
不,那应该是非常安全的。我在那里看不到任何并发问题。
但是,异常处理可能并不理想 - 如果加载配置失败,返回空属性对象是否有效,或者是否应该从getConfig()
传播异常?由你决定,真的......