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



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

该类具有执行初始化的受保护方法。它在第一个请求上调用该方法。

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

或者,在前几个请求中发生这种情况时忽略这一点是否安全?

如果要确保初始化以安全的方式进行,则可以使用对受保护方法的反射访问从自己的代码调用 setup 方法。

我会与库的提供者交谈,以记录正确的和保存的初始化方式。您描述的行为对我来说看起来像工厂/库的错误。

最新更新