是否可以安全地假设org.springframework.context.MessageSource接口的所有实现在初始化后都是线程安全的?
我希望它是安全的,但是现在我正在查看Spring源代码,并且有org.springframework.context.support.ReloadableResourceBundleMessageSource会不时地重新加载属性,并且文档中没有任何关于线程安全的内容. ..
编辑:看来ReloadableResourceBundleMessageSource确实确实在需要的地方被同步了……但是我的原始问题仍然存在.
解决方法:
只是看了一下源代码-任何地方都没有同步的关键字,并且没有可写状态.不,它不是线程安全的.
这么说,从您的应用程序的角度来看,脏读有什么危害?标签或消息值错误?您可能不必担心缺少值,因为如果将JSP或类修改为使用新消息,则必须重新部署整个应用程序.我认为您在这里很安全.