spring rabbitMQ

一、用rabbitMQ是amqp的标准实现,要使用rabbitMQ得先安装rabbitmq-server-3.2.1.exe服务,这个服务又依赖erlang,所以得先安装otp_win32_R16B02.exe。才能使用rabbitMQ。

二、需要的依赖

<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-rabbit</artifactId>
				<version>${spring.amqp.version}</version>
			</dependency>

三、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/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd">
   
   <rabbit:connection-factory id="connectionFactory" />

	<rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="myExchange" routing-key="routing-key"/>
	
	<rabbit:admin connection-factory="connectionFactory" />
	
	<rabbit:queue name="myQueue" />
	
	<rabbit:topic-exchange name="myExchange">
	    <rabbit:bindings>
	        <rabbit:binding queue="myQueue" pattern="routing-key" />
	    </rabbit:bindings>
	</rabbit:topic-exchange>
	
	<rabbit:listener-container connection-factory="connectionFactory">
	    <rabbit:listener ref="consumeMessage" method="listen" queue-names="myQueue" />
	</rabbit:listener-container>
	
	<bean id="consumeMessage" class="com.csair.test.amqp.ConsumeMessage" />
	
</beans>

四、发送信息

package com.csair.test.amqp;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SendMessage {

	public static void main(String[] agrs) throws Exception {
		String path = "applicationContext-amqp.xml";
	    AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(path);
	    RabbitTemplate template = ctx.getBean(RabbitTemplate.class);
	    template.convertAndSend("Hello, world!");
	    Thread.sleep(1000);
	    ctx.destroy();
	}
}


五、消费信息(在spring里面配置了,将自动监听)

package com.csair.test.amqp;


public class ConsumeMessage {
	 public void listen(String foo) {
		 System.out.println("invoke");
		 System.out.println(foo);
	 }
}


 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值