Spring整合RabbitMQ

windows配置

1、安装Erlang

新增环境变量ERLANG_HOME,其值为 D:\Program Files\erl8.3;

修改环境变量PATH的值,在PATH的后面添加 %ERLANG_HOME%\bin;

2、安装RabbitMQ

新增环境变量RABBITMQ_SERVER,

其值为 D:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9

修改环境变量PATH的值,在PATH的后面添加%RABBITMQ_SERVER%\sbin;

查看是否真的安装成功,执行rabbitmqctl status命令,一下为成功

若不成功,查看log(C:\Users\zhangyujie\AppData\Roaming\RabbitMQ\log)

 

3、安装管理工具

在cmd命令行,进入%RABBITMQ_SERVER%\sbin 目录,以管理员身份运行 rabbitmq-plugins.bat enable rabbitmq_management

4、浏览器访问

打开浏览器,输入网址localhost:15672,就会进入登录页面。 默认账号为guest, 密码为guest

5、修改配置文件

C:\Users\zhangyujie\AppData\Roaming\RabbitMQ\rabbitmq.config

如果不是默认路径,需要编辑环境变量,在系统环境变量中新增变量名"RABBITMQ_CONFIG_FILE",值为rabbitmq.config的目录\etc\rabbitmq(注意,不要加;)

最后,用命令对Rabbitmq服务更新、启动(rabbitmq-service.bat install、rabbitmq-service.bat start)


Exchange 模式

http://blog.csdn.net/csethcrm/article/details/51673029

Exchange 模式 - direct

Exchange 模式 - fanout

Exchange 模式 - topic


RabbitMQ与Spring

application-mq.xml

<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.0.xsd
http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd" >

<description>rabbitmq 连接服务配置</description>

<!-- 连接配置 -->
<rabbit:connection-factory id="connectionFactory" host="${mq.host}" username="${mq.username}" password="${mq.password}" port="${mq.port}" virtual-host="${mq.vhost}"/>

<!--abbitmq admin管理-->
<rabbit:admin connection-factory="connectionFactory"/>

<!-- spring template声明-->
<rabbit:template exchange="amqpExchange" id="amqpTemplate" connection-factory="connectionFactory" message-converter="jsonMessageConverter" />

<!-- 申明一个消息队列Queue-->
<rabbit:queue id="test_queue_key" name="test_queue_key" durable="true" auto-delete="false" exclusive="false" />

<rabbit:queue id="test_queue_key" name="test_queue_key" durable="true" auto-delete="false" exclusive="false" />

说明:

durable:是否持久化

exclusive: 仅创建者可以使用的私有队列,断开后自动删除

auto_delete: 当所有消费客户端连接断开后,是否自动删除队列

<!-- 交换机定义-->
<rabbit:direct-exchange name="test-mq-exchange" durable="true" auto-delete="false" id="test-mq-exchange">
<rabbit:bindings>
<rabbit:binding queue="test_queue_key" key="test_queue_key"/>
</rabbit:bindings>
</rabbit:direct-exchange>

说明:

rabbit:direct-exchange:定义exchange模式为direct,意思就是消息与一个特定的路由键完全匹配,才会转发。

rabbit:binding:设置消息queue匹配的key

<!-- 监听配置-->
<rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto">
<rabbit:listener queues="test_queue_key" ref="queueListenter"/>
</rabbit:listener-container>

说明:

queues:监听的队列,多个的话用逗号(,)分隔

ref:监听器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值