springBoot(24):集成rabbitmq

注意:springboot支持的amqp规范的中间件只有rabbitmq

第一步:添加依赖

<!-- amqp -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

第二步:配置application.yml

spring:
  application:
    name: boot-rabbitmq
  rabbitmq:
    host: 192.168.175.13
    port: 5672
    username: liuy
    password: 123456

第三步:编写amqp队列配置

package com.liuy.config;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * amqp队列配置
 * @description amqp队列配置
 * @author luis
 * @version 1.0
 * @date:2017年8月22日下午12:33:36
 */
@Configuration
public class AmqpConfiguration {
	@Bean
	public Queue queue() {
		return new Queue("test.queue");
	}
}

第四步:编写监听与发送

package com.liuy.component;

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 监听与发送
 * @description 监听与发送
 * @author luis
 * @version 1.0
 * @date:2017年8月22日下午12:34:55
 */
@Component
public class AmqpComponent {
	@Autowired
	private AmqpTemplate amqpTemplate;

	public void send(String msg) {
		this.amqpTemplate.convertAndSend("test.queue", msg);
	}

	@RabbitListener(queues = "test.queue")
	public void receiveQueue(String text) {
		System.out.println("接受到:" + text);
	}
}

第五步:编写启动类

package com.liuy;

import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

/**
 * 集成rabbitmq--启动类
 * @description 集成rabbitmq--启动类
 * @author luis
 * @version 1.0
 * @date:2017年8月22日下午12:39:04
 */
@EnableRabbit
@ServletComponentScan
@SpringBootApplication
public class Application {
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

第六步:测试

package com.liuy;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.liuy.component.AmqpComponent;

/**
 * 集成rabbitmq监听与发送测试
 * @description 集成rabbitmq监听与发送测试
 * @author luis
 * @version 1.0
 * @date:2017年8月22日下午12:35:43
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class AmqpComponentTest {
	@Autowired
	private AmqpComponent amqpComponent;

	@Test
	public void send() {
		amqpComponent.send("集成rabbitmq监听与发送测试");
	}
}

效果:

时间: 2024-11-02 05:08:26

springBoot(24):集成rabbitmq的相关文章

SpringBoot集成rabbitmq(一)

前言 Rabbitmq是一个开源的消息代理软件,是AMQP协议的实现.核心作用就是创建消息队列,异步发送和接收消息.通常用来在高并发中处理削峰填谷.延迟处理.解耦系统之间的强耦合.处理秒杀订单.  入门rabbitmq之前主要是想了解下秒杀排队订单入库后,异步通知客户端秒杀结果. 基础知识 1.基本概念(角色) 了解rabbitmq之前先要了解3个基本概念:生产者.消费者.代理(队列). rabbitmq在生产者和代理中间做了一层抽象.这样消息生产者和队列就没有直接联系,在中间加入了一层交换器(

SpringBoot 集成RabbitMQ

1.application.yml 配置 spring:rabbitmq: host: localhost port: 5672 listener: simple: acknowledge-mode: manual // 手动签发 prefetch: 1 retry: enabled: true initial-interval: 60000 # 第一次和第二次尝试发布或传递消息间隔: 1分钟 max-attempts: 8 max-interval: 7200000 # 最大重试时间间隔:2小

SpringBoot ( 八 ) :RabbitMQ 详解

原文出处: 纯洁的微笑 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ.消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的.在分布式的系统中,消息队列也会被用在很多其它的方

springboot(八):RabbitMQ详解

http://www.cnblogs.com/ityouknow/p/6120544.html ******************************************************* RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ.消息中间件最主要的作用是解耦,中间件最标准的

Springboot Application 集成 OSGI 框架开发

内容来源:https://www.ibm.com/developerworks/cn/java/j-springboot-application-integrated-osgi-framework-development/index.html Springboot Application 集成 OSGI 框架开发 张 莹莹2018 年 4 月 02 日发布 WeiboGoogle+用电子邮件发送本页面 0 Java 类加载器 启动类加载器 (Bootstrap ClassLoader) 是 Ja

rabbitMQ第五篇:Spring集成RabbitMQ

前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.6.0.RELEASE</version> <

RabbitMQ第四篇:Spring集成RabbitMQ

前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.6.0.RELEASE</version> <

springboot elasticsearch 集成注意事项

文章来源: http://www.cnblogs.com/guozp/p/8686904.html 一 elasticsearch基础 这里假设各位已经简单了解过elasticsearch,并不对es进入更多的,更深层次的解释,如有必要,会在写文章专门进行es讲解. Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是,Lucene只是一个库.想要使用它,你必

Laravel 集成 RabbitMQ 消息队列

目录 消息队列 RabbitMQ docker 部署 RabbitMQ 操作步骤 访问管理界面 Laravel 集成 RabbitMQ Laravel 5.2 Laravel 5.5 消息队列 消息(Message)是指在应用间传送的数据.可以只包含文本字符串,也可以嵌入对象. 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递. 消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的