Chamadas de serviços da web assíncronas com JAX-WS: Use o suporte a wsimport para assíncronia ou rolar o meu próprio?

Há umexcelente artigo de Young Yang que explica como usar o wsimport para criar artefatos do cliente de serviço da web que possuem chamadas de serviço da web assíncronas. Asynchrony requer que o WSDL tenha a tag

<enableAsyncMapping>true</enableAsyncMapping>

na sua seção de ligações. Se você estiver usando a abordagem de baixo para cima com classes Java anotadas JAX-WS, não será possível fazer isso diretamente no WSDL, porque o WSDL é um artefato gerado no servidor da web. Em vez disso, você usa ferramentas de construção como Ant ou Maven para incluir essa ligação quando o wsimport é executado no WSDL.

Os artefatos do cliente gerados têm chamadas de método assíncrono que retornam um

Future<?>

ou um

Response

que é um futuro.

Minha pergunta depois de ler o artigo de Yang é por que não apenas rolar minhas próprias chamadas de serviço web assíncronas usando Executores e Futuros. Os artefatos criados pelo wsimport oferecem alguma vantagem que não posso ver em uma abordagem de rolagem sua?

Se alguém tiver experiência ou percepção com as duas abordagens, agradeceria seu feedback.

questionAnswers(2)

yourAnswerToTheQuestion