Еще раз здравствуйте!
Прошло 2 месяца с момента моей последней статьи, поэтому я решил написать новую.
Сегодня мы сосредоточимся на RabbitMQ и на том, что мы можем с ним сделать, используя Camel.
Зависимости
Репозиторий Maven -> Camel RabbitMQ
Подключение к RabbitMQ
При использовании SpringBoot:
- Создайте класс с аннотацией @Configuration.
- Создайте метод, который будет возвращать ConnectionFactory и аннотировать его с помощью @Bean.
- Создайте фабрику соединений и задайте свойства.
@Bean public ConnectionFactory rabbitConnectionFactory() { ConnectionFactory connectionFactory = new ConnectionFactory(); connectionFactory.setHost("localhost); connectionFactory.setPort(5672); connectionFactory.setUsername("Username"); connectionFactory.setPassword("Password); return connectionFactory; }
* примечание: Вы можете использовать свойства приложения для подключения к серверу.
Если вы используете чистый верблюд:
Использование RabbitMQ
Теперь, когда мы успешно подключились к RabbitMQ, пришло время начать получать/отправлять сообщения в очередь/exchange.
Документация по компонентам Camel RabbitMQ.
Получение сообщения из очереди:
- Мы настроим компонент RabbitMQ на выборку из очереди, которая привязана к exchange.
- Получено тело сообщения журнала.
public void configure() {
from("rabbitmq:exchangeA?queue=QueueA&declare=true") .routeId("RabbiqMqConsumer") .log("Message received: ${body}");
Создание сообщения для обмена:
- Мы создадим маршрут.
- Установите текст сообщения.
- Отправьте сообщение на биржу.
public void configure() {
from("timer:fooo?period=10000") .routeId("RabbiqMqProducer) .setBody().constant("{\"foo\":\"bar\"}") .log("Message to be sent: ${body}") .to("rabbitmq:exchangeB");
И это все, ребята, если у кого-то есть какие-то вопросы, не стесняйтесь задавать их мне через DM или просто оставьте комментарий.
Оригинал: “https://dev.to/djoleb/apache-camel-3-using-rabbitmq-2250”