假设 Spring MessageSource 实现是线程安全的吗?

Dom*_*chi 5 java spring multithreading internationalization

可以安全地假设 org.springframework.context.MessageSource 接口的所有实现在初始化后都是线程安全的吗?

我希望它是安全的,但现在我正在查看 Spring 源代码,并且有 org.springframework.context.support.ReloadableResourceBundleMessageSource 会不时重新加载属性,并且文档没有说明任何有关线程安全的信息。 ..

编辑:看来 ReloadableResourceBundleMessageSource 确实在需要的地方同步......但是我原来的问题仍然存在。

duf*_*ymo 3

只是查看了源代码 - 任何地方都没有同步关键字,并且处于可写状态。不,它不是线程安全的。

话虽如此,从应用程序的角度来看,脏读有什么危害?标签或消息值错误?您可能不必担心缺失值,因为如果 JSP 或类被修改为使用新消息,您就必须重新部署整个应用程序。我认为你在这里很安全。