如何修复非线程安全延迟初始化 CXF 客户端工厂?

我有一个(外部)工厂类,它以非线程安全的方式延迟初始化 CXF 客户端。
(如果调用太快,它可能会实例化客户端两次或更多次。)

该类有一个受保护的方法来进行初始化。它在第一个请求时调用该方法。

我应该绕过工厂创建自己的客户端吗?
以某种方式使类通过在单个线程上发送一个请求/调用受保护的方法来初始化客户端?

或者忽略它是否安全,因为它发生在前几个请求上?


largeQ
浏览 103回答 1
1回答

犯罪嫌疑人X

如果您想确保初始化以安全的方式发生,您可以使用对受保护方法的反射访问从您自己的代码中调用设置方法。我会与库的提供者交谈以记录初始化的正确和保存方式。对我来说,您描述的行为看起来像是工厂/库的错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java