2014-12-02 3 views
0

Я использую библиотеку Spring-AMQP с RabbitMQ для производства. Я хотел написать несколько тестов, которые будут работать «чисто», и я думал об использовании встроенного брокера и насмехаясь над ответами. Я знаю, что я не могу внедрить Rabbit, но задавался вопросом, будет ли Spring AMQP работать с Apollo или другим брокером, который будет работать в JVM.Spring-Amqp и Apollo

Я согласен с публикацией и подпиской и с использованием специального кода поставщика для настройки очередей, если это необходимо.

Спасибо!

ответ

0

Нет; хотя есть общая абстракция (в проекте spring-amqp), в настоящее время существует только конкретная реализация для RabbitMQ (spring-rabbit).

Поскольку AMQP является проводным протоколом, вы можете использовать клиент кролика под Spring AMQP с другим брокером, но только если он (брокер) поддерживает ту же версию протокола. Apollo AMQP 1.0, который полностью отличается от версии, которой соответствует RabbitMQ (0-9-1).

Для самого каркаса мы используем Mockito, чтобы издеваться над кроликом amqp-client, где мы можем. Для более сложных тестов, в которых насмешка слишком сложна, и для интеграционных тестов мы используем JUnit @Rule (BrokerRunning), чтобы пропустить тесты, если на localhost нет брокера.

+0

Вот что я и подумал. Благодаря! –

Смежные вопросы