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

How to fix a non thread-safe lazy-initializing CXF client factory?

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

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

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

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

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

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