相关疑难解决方法(0)

JAX-WS客户端是否安全?

由于WS客户端端口的初始化成本太高,我们希望重用相同的实例.我们还希望在每次调用之前在BindingProvider/RequestContext中设置不同的值.最初我们想这样做:

MyService service = new MyService(wsdlURL, name); 
MyPort myPort = service .getMyServicePort(); 
Run Code Online (Sandbox Code Playgroud)

然后,在每次调用之前执行此操作:

Map requestContext = ((BindingProvider)myPort ).getRequestContext(); 
requestContext.put(BindingProvider.USERNAME_PROPERTY, uName); 
requestContext.put(BindingProvider.PASSWORD_PROPERTY, pWord); 
myPort.someFunctionCall();
Run Code Online (Sandbox Code Playgroud)

我的问题是,这个代码线程安全吗?JAX-WS文档似乎表明它不是线程安全的.但是,如果采取预防措施,CXF似乎也是如此.如果特别是JAX-WS和Metro不是线程安全的,有没有办法确保线程安全而不同步访问端口或ws操作?

web-services java-metro-framework jax-ws webservices-client

20
推荐指数
1
解决办法
1万
查看次数