Web服务 – JAX-WS客户端线程是否安全?

前端之家收集整理的这篇文章主要介绍了Web服务 – JAX-WS客户端线程是否安全?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
因为WS客户端端口的初始化是如此昂贵,我们希望重用同一个实例。我们也希望在每次调用之前在BindingProvider / RequestContext中设置不同的值。最初我们想这样做:
MyService service = new MyService(wsdlURL,name); 
MyPort myPort = service .getMyServicePort();

那么以后,在每个电话之前做这个:

Map requestContext = ((BindingProvider)myPort ).getRequestContext(); 
requestContext.put(BindingProvider.USERNAME_PROPERTY,uName); 
requestContext.put(BindingProvider.PASSWORD_PROPERTY,pWord); 
myPort.someFunctionCall();

我的问题是,这个代码线程是否安全? JAX-WS文档似乎表明它不是线程安全的。但是,CXF seems to be so if you take precautions.如果JAX-WS和Metro特别是线程安全,是否有任何方式确保线程安全,而不同步访问端口或ws操作?

解决方法

对于JAX-WS / Metro,这绝对不是线程安全的。最好的办法是创建一个代理池,并在需要时从池中提取代理,配置它,使用它,清除设置的值,返回到池。

或使用CXF。

原文链接:https://www.f2er.com/html/233390.html

猜你在找的HTML相关文章