由于WS客户端服务和端口的初始化需要花费很多时间,因此我希望在启动时对其进行一次初始化,并重用端口的同一实例。
初始化看起来像这样:

private static RequestContext requestContext = null;

static
{
    MyService service = new MyService();
    MyPort myPort = service.getMyServicePort();

    Map<String, Object> requestContextMap = ((BindingProvider) myPort).getRequestContext();
    requestContextMap = ((BindingProvider)myPort).getRequestContext();
    requestContextMap.put(BindingProvider.USERNAME_PROPERTY, uName);
    requestContextMap.put(BindingProvider.PASSWORD_PROPERTY, pWord);

    rc = new RequestContext();
    rc.setApplication("test");
    rc.setUserId("test");
}

我类某处的电话:
myPort.someFunctionCall(requestContext, "someValue");

我的问题:此调用是否是线程安全的?

最佳答案

根据CXF FAQ:

关于java - 这个JAX-WS客户端调用线程安全吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10599959/

10-10 04:40