spring集成rabbitmq-爱代码爱编程
-
依赖引入
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.7.10.RELEASE</version>
</dependency>
-
生产者
package com.adiao.rabbitmq.spring;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Send {
public static void main(String[] args) throws InterruptedException {
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:content.xml");
//获取RabbitMQ模板
RabbitTemplate template = ctx.getBean(RabbitTemplate.class);
//发送消息
String msg="Hello World!";
template.convertAndSend(msg);
Thread.sleep(1000);
ctx.destroy();
}
}
-
消费者
package com.adiao.rabbitmq.spring;
public class Recv {
public void listen(String sss){
System.out.println("消费者:"+sss);
}
}
-
Spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/rabbit https://www.springframework.org/schema/rabbit/spring-rabbit.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 定义RabbitMQ连接工厂 -->
<rabbit:connection-factory id="connectionFactory" host="127.0.0.1" port="5672" username="" password="" virtual-host="/"/>
<!-- 定义RabbitMQ模板 指定连接工厂 -->
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="fanoutExchange"/>
<rabbit:admin connection-factory="connectionFactory"/>
<rabbit:queue name="queue_name" auto-declare="true" durable="true"/>
<rabbit:fanout-exchange name="fanoutExchange" auto-declare="true">
<rabbit:bindings>
<rabbit:binding queue="queue_name" />
</rabbit:bindings>
</rabbit:fanout-exchange>
<rabbit:listener-container connection-factory="connectionFactory">
<rabbit:listener ref="sss" method="listen" queue-names="queue_name"/>
</rabbit:listener-container>
<!-- 配置消费者的类-->
<bean id="sss" class=""></bean>
</beans>