Sont JAX-WS clients thread-safe?

Parce que l'initialisation de la WS côté client port est si coûteux nous tenons à réutiliser la même instance. Nous tenons également à définir des valeurs différentes dans les BindingProvider/RequestContext avant chaque appel. D'abord, nous tenons à ce faire:

MyService service = new MyService(wsdlURL, name); 
MyPort myPort = service .getMyServicePort(); 

puis, plus tard, avant chaque appel ce faire:

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

Ma question est, est-ce code thread-safe? JAX-WS documentation semble indiquer que c'est pas thread-safe. Cependant, CXF semble donc, si vous prenez des précautions. Si JAX-WS et Métro en particulier n'est pas thread-safe, est-il un moyen d'assurer la sécurité des threads sans la synchronisation des accès au port ou ws opérations?

InformationsquelleAutor PålOliver | 2010-12-08