Não, clientes (proxies) para serviços JAX-WS não são thread safe pela spec !

Postado em

Junte as suas notas qui… (opcional)

Rafael Chies Blog

Esse é um assunto recorrente em fóruns, e sempre vejo bastante besteira escrita a respeito. Definitivamente, pela especificação JAX-WS (página 57 do documento [1]), “client proxies” não são threadsafe, ou seja, tome cuidado. Se criarmos um código cliente para acesso a um webservice, e armazenarmos nosso proxy (Interface para nosso serviço, refente ao javax.xml.ws.Service) em uma classe seguindo o patternsingleton, fatalmente teremos sérios problemas com acesso simultâneo. Óbvio que isso é especificação. Se um vendor fizer a implementação garantindo o acesso concorrente, então esqueça esse post =b.

Pensemos no seguinte exemplo …

Tenho um webservice (JAX-WS) implantado, publicando três métodos (operações) com distintos Beans de retorno. Algo como o trecho abaixo:

Imagem

 

 

Agora, supomos que o código cliente para invocar tal webservice utilize de um singleton para armazenar o proxy.

Imagem

 

Por fim, criamos então nosso código que irá utilizar o

Ver o post original 292 mais palavras

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s