Kể từ khi khởi tạo dịch vụ khách hàng WS và cổng mất độ tuổi tôi muốn khởi tạo chúng một lần khi khởi động và tái sử dụng cùng một phiên bản của cổng. initalization sẽ giống như thế này:Chủ đề cuộc gọi khách hàng JAX-WS này có an toàn không?
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");
}
Cuộc gọi nơi nào đó trong lớp học của tôi:
myPort.someFunctionCall(requestContext, "someValue");
Câu hỏi của tôi: cuộc gọi này sẽ được thread-an toàn không?
Jonny
đã được trả lời ở đây: http://stackoverflow.com/questions/4385204/are-jax-ws-clients-thread-safe – kyiu
Hi KHY , cảm ơn vì đã phản hồi sớm. Tôi đã thấy chủ đề này. Vấn đề của tôi là, tôi thiếu bất kỳ tuyên bố (chính thức) nào là luồng an toàn hay không (dịch vụ/cổng/etc). My usecase cũng khác với thread khác. Jonny – user871611
Đây là câu trả lời tôi tìm thấy trên trang web của CXF: https://cwiki.apache.org/CXF/faq.html#FAQ-AreJAXWSclientproxiesthreadsafe%253F – kyiu