【问题标题】:How to fix a non thread-safe lazy-initializing CXF client factory?如何修复非线程安全的延迟初始化 CXF 客户端工厂?
【发布时间】:2020-02-09 02:29:00
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java concurrency cxf lazy-initialization cxf-client


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 2014-07-11
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多