Рубрики
Без рубрики

Apache Camel #3 – RabbitMQ

Подключение и использование Rabbitmq. Помечены java, rabbitmq, apache, camel.

Еще раз здравствуйте!

Прошло 2 месяца с момента моей последней статьи, поэтому я решил написать новую.

Сегодня мы сосредоточимся на RabbitMQ и на том, что мы можем с ним сделать, используя Camel.

Зависимости

Репозиторий Maven -> Camel RabbitMQ

Подключение к RabbitMQ

При использовании SpringBoot:

  1. Создайте класс с аннотацией @Configuration.
  2. Создайте метод, который будет возвращать ConnectionFactory и аннотировать его с помощью @Bean.
  3. Создайте фабрику соединений и задайте свойства.
@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.

Получение сообщения из очереди:

  1. Мы настроим компонент RabbitMQ на выборку из очереди, которая привязана к exchange.
  2. Получено тело сообщения журнала.

public void configure() {

from("rabbitmq:exchangeA?queue=QueueA&declare=true")
.routeId("RabbiqMqConsumer")
.log("Message received: ${body}");

Создание сообщения для обмена:

  1. Мы создадим маршрут.
  2. Установите текст сообщения.
  3. Отправьте сообщение на биржу.

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”