Я просто имею дело с новым для меня сценарием, который, я думаю, может быть общим для некоторых :)..
В соответствии с требованиями мне нужно создать пользовательский интерфейс, похожий на синхронную онлайн-транзакцию для вызова веб-службы, которая фактически делегирует вызов серии IBM MQ с использованием асинхронного моста JMS-MQ.
Клиент вызывает веб-службу, после чего его сообщение должно быть опубликовано в очереди JMS на сервере приложений, которое будет доставлено в WebSphere MQ, а затем после обработки ответ будет доставлен обратно на сервер приложений в конечной точке очереди FIXED JMS.
Требование относится к этой транзакции, которая должна истечь по тайм-ауту в случае, если WebSphere MQ не доставляет ответ в течение определенного периода времени, после чего веб-служба должна отправить клиенту сигнал тайм-аута и проигнорировать эту транзакцию.
Набросок проблемы следующий.
Мне нужно заблокировать запрос в веб-службе до тех пор, пока не придет ответ или не истечет время ожидания.
Чем я ищу некоторую открытую библиотеку, чтобы помочь мне в этой задаче. Или единственное решение — блокировать поток и продолжать собирать ответы? Может быть, я мог бы реализовать какой-нибудь блок со слушателем, чтобы получать уведомления о получении ответа?
Небольшое обсуждение было бы очень полезно для меня сейчас, чтобы попытаться прояснить свои идеи по этому поводу. Какие-либо предложения?
У меня есть набросок, который, надеюсь, поможет прояснить картину ;)