Поскольку инициализация службы клиента 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");
Мой вопрос: будет ли этот вызов потокобезопасным?