gpt4 book ai didi

java - getResourceAsStream() 是线程安全的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:34 26 4
gpt4 key购买 nike

我需要在 JSF 网络应用程序中读取包含一些配置数据的属性文件。

现在的代码是这样的

 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() 时是否会遇到并发问题?

最佳答案

不,那应该是绝对安全的。我在那里看不到任何并发问题。

但是,异常处理可能并不理想 - 如果您未能加载配置,返回空属性对象是否有效,或者您是否应该将异常传播到 getConfig() 之外?取决于你,真的......

关于java - getResourceAsStream() 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com