项目作者: PolomskiBartlomiej

项目描述 :
Exploring spring rabbitm with delayed exchange plugin
高级语言: Java
项目地址: git://github.com/PolomskiBartlomiej/spring-rabbitmq-delayed-exchange.git


spring-rabbitmq-delayed-exchange

Exploring spring rabbitm with delayed exchange plugin

Preferences: http://www.rabbitmq.com/community-plugins.html
Preferences: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange

instalation

To provide dalyed message in rabbitmq we should install rabbitmq_delayed_message_exchange plugin

Installation

  1. Binary builds are available from the RabbitMQ Community Plugins page : http://www.rabbitmq.com/community-plugins.html

Enabling the Plugin

  1. Then run the following command:
  2. rabbitmq-plugins enable rabbitmq_delayed_message_exchange

or we can use configured docker image :

Docker Images

Images rabbitmq with plugins :

  1. managment
  2. delayed-message

    image : tetsuobe/rabbitmq-delayed-message-exchange

description

Project show how to use and configure spring ampq with rabbitmq delayed message exchange.

To see how to configure rabbitmq by spring, craete exchange, queue, binding and configuration :
https://github.com/PolomskiBartlomiej/spring-rabbitmq-basic

To configurare spring amqp to send delayed message we can configure RabbitTemplate:

  1. public class DelayedMessagePublisher {
  2. private static final int DELAY = 1000;
  3. private final RabbitTemplate template;
  4. private final Exchange exchange;
  5. public void sendDelayedMessage(MessageEvent messageEvent) {
  6. template.convertAndSend(exchange.getName(),messageEvent,
  7. message -> {
  8. message.getMessageProperties().setDelay(DELAY);
  9. return message;
  10. });
  11. }
  12. }