RabbitMQ является обычно используемой реализацией AMQP. Эта статья представляет собой простой учебник по интеграции RabbitMQ с Spring Boot.
Установите сервер ActiveMQ (вы также не можете установить его. Если он не установлен, вы будете использовать Memory MQ)
Стройте Spring Boot Project и добавьте зависимости. Просто добавьте этот элемент
<!-Добавить зависимость ActiveMQ-> <Dependency> <groupId> org.springframework.boot </GroupId> <ratifactid> Spring-boot-starter-activemq </artifactid> </dependency>
Добавить класс приложений
@SpringbootApplication@enablesCeduling // Отправлять сообщения с использованием временного задания открытый класс mqtestapplication {public static void main (string [] args) {SpringApplication.run (mqteStapplication.class, args); }} Настройка Application.yml
Весна: ActiveMQ: Broker-Url: TCP: //127.0.01: 61616 Пакеты: Trust-All: True
Для создания модели данных типы данных, которые можно отправлять и потреблять: String, Byte Array, Map <String,?>, Сериализуемый объект.
// Если отправленное сообщение является объектом, оно должно реализовать сериализуемый интерфейс открытый класс Tmodel реализует Serializable {Private Static Long Long Serialversionuid = -921008687184331557L; частный int count; public tmodel (int count) {this.count = count; } @Override public String toString () {return "tmodel [count =" + count + "]"; }} Построить производителя
@Componentpublic Class Producer {// Inject jmstemplate в продюсера, мы можем отправлять сообщения через этот шаблон частный финальный финал jmstemplate jmstemplate; частный int count = 0; @Autowired public Producer (Jmstemplate Jmstemplate) {this.jmstemplate = jmstemplate; } // Здесь мы используем временную задачу Spring Boot для отправки сообщений @scheduled (fixdrate = 1000) public void create () {// Использовать ConvertandSend для отправки сообщений jmstemplate.convertandSend ("queue1", new tmodel (count ++)); }} Построить потребителя
@ComponentPublic Class Consumer {@jmslistener (destination = "queue1") public void comsume (tmodel content) {System.out.println ("Регуляционное сообщение из queue1 [" + content + "]"); }}Специальное примечание: если наши производители и потребители находятся в разных модулях, лучше всего абстрагировать данные, которые будут употреблять в общественном модуле. Программа сериализуется и десериализует объекты через сериализуемые. Необходимо убедиться, что сериал -версия объектной модели производителя и потребителя была последовательной.
Адрес проекта: https://github.com/ldwqh0/active-mq-spring.git
Пример: настроить Rabbitmq и добавить очередь
@ConfigurationPublic Class aqueue {@beanpublic queue queue () {return new queue ("good");}}Определите продюсера.
Когда ActiveMQ включен, будет автоматически создан Amqptemplate, который может быть введен везде везде, где вам нужно. Мы можем отправлять сообщения в MQ через этот Amqptemplate
/*** Определите продюсера*@author lidong*/@restcontroller@requestmapping ("/test") открытый класс sendcontroller {@autowiredprivate amqptemplate шаблон; @getmappypublic String testsend () {// Отправить сообщение с использованием amqptemplate template.convertandsend ("good", "good"); Определите потребителя, укажите очередь потребления, указав RabbitListener (Queues = 'Good')
@ComponentPublic Class Consumer {/*** Определить потребитель*@param Message*/ @RabbitListener (queues = "Good") public void обработчик (String Message) {System.out.println ("Recive Message из" + Message);}}}}}}}}}}}}}}}}}}}Начните тест и введите http: // localhost: 8080/тест в браузере, чтобы отправить сообщение в очередь. Эта пара столбцов может быть обработана потребителем
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.