Я довольно новичок в Java, и в настоящее время я пишу веб-приложение, используя ряд микросервисов на основе Dropwizard и Java8 SE. Теперь я хочу интегрировать очередь сообщений для связи Async между службами и начать с использования облачной очереди, такой как Amazon SQS. Однако я не хочу блокировать себя в конкретном провайдере облачных вычислений, поэтому мне бы хотелось перейти к другому провайдеру или позже использовать что-то вроде RabbitMQ или ActiveMQ. Итак, мой вопрос: существует ли в Java инфраструктура, которая позволяет это? Например, с Hibernate я могу переключаться между базами данных с простым изменением конфигурации, есть ли эквивалент для очередей сообщений?Java Message Queue Abstraction
Я потратил немало времени на изучение этого, но не смог найти окончательного ответа в любом месте, до сих пор нашел;
- JMS, который немного похож на то, что я после того, как выглядит, но только будет доступен в издании Java EE и может потребовать и сервер приложений? Это верно?
- AMQP, который выглядит как протокол низкого уровня для совместимости очереди сообщений. Существует также Apache Qpid Proton, который выглядит как чистая библиотека сообщений AMQP, но все документы и примеры для Java, похоже, используют JMS.
- Все обучающие программы, которые я могу найти для определенных MQ (Rabbit и т. Д.), Используют эти клиентские библиотеки определенных очередей.
- Очевидно, я мог бы добавить свой собственный уровень абстракции, но не хочу изобретать колесо, и я подозреваю, что я не первый разработчик, который хочет сделать что-то подобное.
Спасибо за это, так же как JMS доступен только в Java EE? Есть ли какие-либо возможности использовать его в Java SE. Моя проблема заключается в том, что Java EE доступен только для Java 7, и я уже использовал множество функций Java 8 в своем коде, поэтому переход на Java 7 потребует много повторного факторинга! –
Уверенный, что вы можете использовать его с помощью Java SE, просто включите в свой проект дорожки, такие как javax.jms. Вы можете сделать это напрямую или с помощью таких инструментов, как maven. – Vaaith