RabbitMQ配置详解

下面以topic主题订阅模式来讲解spring集成rabbitMQ的主要配置详解

**

一,前期准备

**
准备安装好的rabbit环境和账号信息,如下:

#rabbitmq
rabbit.server.host=192.168.*.*
rabbit.server.port=5672
rabbit.server.username=admin
rabbit.server.password=admin

二,项目导包
在项目的pom文件中引入spring-rabbit相关的包,配置如下:


    org.springframework.amqp
    spring-rabbit
    ${spring-rabbit.version}

三,配置文件
rabbitMQ在web项目中的应用原则上分为生产者配置和消费者配置,但是一个应用既可以做生产者也可以做消费者,所以一般rabbit的配置文件是两者融合的,下面我将着重讲解生产者和消费者融合的配置文件:
1.设置rabbit连接类,该类用于连接安装好的rabbit客户端,配置如下:


    
    

2.spring amqp默认的是jackson的一个插件,目的将生产者生产的数据转换为json存入消息队列,由于fastjson的速度快于jackson,这里替换为fastjson的一个实现配置json数据格式转换插件,该插件的作用是将生产者产生的数据转换成json存入消息队列,其配置如下:

    

3.spring template声明
在这个声明中,设置了模板的路由规则为bid.topic,连接信息和消息转换机制


    

4.队列声明

    

该配置声明了一个叫test_queue的队列,durable:是否持久化 ; exclusive: 仅创建者可以使用的私有队列,断开后自动删除;auto_delete: 当所有消费客户端连接断开后,是否自动删除队列.

5.topic主题订阅模式的路由规则配置(生产者绑定队列匹配规则)


		
			
		

该配置声明了一个名为bid.topic的路由规则,该路由规则下配置绑定了一个名为test_queue的队列,匹配模式为字符串匹配模式,所有与test_key.. 字符串通配符匹配的消息都会发送到test_queue这个队列中

6.消费者配置消息监听的代理类(其实就是监听到消息之后处理消息的类和方法)


		//类名
		//方法名
		

7.消费者订阅消息绑定队列配置


		

该配置监听了一个名为test_queue的队列,配置监听 acknowledeg = “manual” 设置手动应答 当消息处理失败时:会一直重发 直到消息处理成功,监听容器acknowledge=“auto” concurrency=“20” 设置发送次数,最多发送20次,并通过testQueueListenerAdapter代理类去处理监听到的消息

好了,以上就是最基本的spring集成rabbitMq的配置文件说明,这是生产者和消费者同时存在的一个配置文件,此配置适用于大部分的应用场景,因为一个应用很大程度上都会既是生产者的角色,又是消费者的角色。最后,欢迎有兴趣的同行一起交流!

你可能感兴趣的:(rabbitMQ)