由于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/