В последнем случае вы выполняете синхронную операцию, тогда как первый подход - асинхронный.В сценариях интеграции между приложениями (A2A) почти всегда хорошее решение реализовать асинхронный интерфейс.Об этом много написано, позвольте мне просто сослаться на саму документацию по Java , например, раздел 6.3.3:
При разработке приложения вам нужно решить, стоит лииспользовать синхронную или асинхронную интеграцию с целевыми EIS и существующими приложениями.Оба подхода синхронной и асинхронной интеграции действительны для интеграции приложений, и выбор должен быть основан на требованиях интеграции и случаях использования.Основывайте свое решение на следующих рекомендациях.
- Требуемое качество услуг - использование очереди или системы публикации-подписки обеспечивает более высокое качество услуг, таких как маршрутизация сообщений и надежная доставка сообщений, чем синхронная связь.
- Пропускная способность приложения - асинхронный обмен сообщениями может привести к повышению пропускной способности, поскольку очередь буферизует сообщения, поддерживает маршрутизацию сообщений и гарантирует доставку сообщений.
- Транзакционная интеграция - модель синхронной связи больше подходит, когда приложение должно выполнятьбезопасный и транзакционный доступ к одной или нескольким EIS синхронно для обработки клиентских запросов.В таких случаях приложение может позволить себе более жесткую связь с EIS для обеспечения более качественной обработки запросов и обработки ошибок.
- Сложность модели программирования - модель программирования асинхронной связи является более сложной, чем более распространенный синхронный запросмодель ответа.В то время как асинхронная модель предоставляет больше сервисов, стоимость усложняется приложениями и требует больше работы со стороны разработчиков.
В заключение, возможно, в этом нет необходимости, но может быть целесообразно реализоватьMDB.