Асинхронные вызовы веб-сервисов с помощью JAX-WS: Использовать поддержку wsimport для асинхронности или накатить свою собственную?

Естьотличная статья Янга Янга это объясняет, как использовать wsimport для создания клиентских артефактов веб-службы, имеющих асинхронные вызовы веб-службы. Асинхронность требует, чтобы WSDL имел тег

<enableAsyncMapping>true</enableAsyncMapping>

в разделе привязок. Если вы используете подход «снизу вверх» с аннотированными классами Java JAX-WS, вы не можете делать это непосредственно в WSDL, поскольку WSDL является сгенерированным артефактом на веб-сервере. Вместо этого вы используете инструменты сборки, такие как Ant или Maven, чтобы включить эту привязку при выполнении wsimport в WSDL.

Сгенерированные клиентские артефакты имеют асинхронные вызовы методов, которые возвращают

Future<?>

или

Response

это будущее.

Мой вопрос после прочтения статьи Янга состоит в том, почему бы просто не бросать мои собственные асинхронные вызовы веб-службы с использованием Executors и Futures. Могут ли артефакты, созданные wsimport, дать какое-то преимущество, которое я не вижу по сравнению с подходом «сделай сам»?

Если у кого-то есть опыт или понимание обоих подходов, я буду признателен за ваши отзывы.

Ответы на вопрос(2)

Ваш ответ на вопрос