Hessian 类 SerializerFactory 是线程安全的吗?
我想使用 Hessian (Java) 序列化,并且需要使用自定义序列化程序创建一个 SerializerFactory
(以处理 BigInteger
)。我可以创建其中之一并在线程之间共享它吗?
I'd like to use the Hessian (Java) serialization and need to create a SerializerFactory
with custom serializers (to handle BigInteger
). Can I create one of these and share it among threads?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您查看源代码,那么您可以注意到SessionFactory将创建的序列化器存储在HashMap中,而HashMap不是线程安全的对象。有一篇关于它的有趣的帖子。
所以,你的问题的答案是“不”。
If you look at the source code, then you can notice that SessionFactory stores created serializers in a HashMap, and HashMap is not a thread-safe object. There is an intresting post about it.
So, the answer to your question is "no".
看来这个问题已经修复了一段时间了。他们现在使用 ConcurrentHashMap。
http://bugs.caucho.com/view.php?id=1588
04-06-07 15:16 ferg 已在版本中修复 => 3.1.1
It appears this has been fixed for a while now. They now use ConcurrentHashMap.
http://bugs.caucho.com/view.php?id=1588
04-06-07 15:16 ferg Fixed in Version => 3.1.1