特性规范
- spring(建议4.2以上,mq支持注解)+RabbitMQ1.6.6
- 默认配置的连接是5个,当rabbit服务器重启后,会自动重连
- 所有队列、路由默认是持久化的,当rabbit服务器重启后,会自动恢复创建
- 优先级队列级别设置建议为10(权重越大表示优先执行)
- 延迟队列延迟时间最大建议设置为???
- 所有接收器设置其ack为手动响应,且在listener使用后必须回写,防止队列阻塞
- 所有数据发送采用字符串,且存储数据信息尽量小于10K(已配置使用默认的json转换器)
- 队列、路由在创建后,属性不可更改,如有需要,需申请运维协助(建议使用新的队列,旧的队列数据处理完后可以删除)
命名规范
#命名规范:容器名称.[队列特点or路由特点].使用的平台名称.作用
#@容器名称:queue、exchange
#@队列特点:非持久化标记(undurable)、延时队列(delay)、优先级队列(priority)
#@路由特点:direct、topic、fanout、headers
#@使用的平台名称:xiangshang、xiangqian……
#@作用:干什么的
#eg:消息队列(queue.xiangshang.message)、延时消息队列(queue.delay.xiangshang.message)、普通路由(exchange.direct.xiangshang.common)、通用路由(exchange.direct.xiangshang.common)
整合Spring
- 大纲
只需以下几步,即可实现测试,测试环境xshell账号(服务器:10.200.0.150 用户名:root 密码:xs360..COM)
rabbitMQ管理平台(http://10.200.0.150:15672/ 用户名:guest 密码:guest 连接端口:5672)
- 项目结构
-
依赖的jar
<
properties
>
<
spring.amqp.version
>1.6.6.RELEASE</
spring.amqp.version
>
</
properties
>
<
dependencies
>
<
dependency
>
<
groupId
>org.springframework.amqp</
groupId
>
<
artifactId
>spring-amqp</
artifactId
>
<
version
>${spring.amqp.version}</
version
>
<
exclusions
>
<
exclusion
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-core</
artifactId
>
</
exclusion
>
</
exclusions
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework.amqp</
groupId
>
<
artifactId
>spring-rabbit</
artifactId
>
<
version
>${spring.amqp.version}</
version
>
<
exclusions
>
<
exclusion
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-core</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-messaging</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-tx</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-context</
artifactId
>
</
exclusion
>
</
exclusions
>
</
dependency
>
</
dependencies
>
-
连接配置(rabbitmq-config.properties)
#RabbitMQ服务器工厂参数设置
rmq.addresses=10.200.0.150:5672
rmq.username=root
rmq.password=123456
#命名规范:容器名称.[队列特点or路由特点].使用的平台名称.作用
#@容器名称:queue、exchange
#@队列特点:非持久化标记(undurable)、延时队列(delay)、优先级队列(priority)
#@路由特点:direct、topic、fanout、headers
#@使用的平台名称:xiangshang、xiangqian……
#@作用:干什么的
#eg:消息队列(queue.xiangshang.message)、延时消息队列(queue.delay.xiangshang.message)、普通路由(exchange.direct.xiangshang.common)、通用路由(exchange.direct.xiangshang.common)
rmq.queue.xiangshang.test=queue.xiangshang.test
rmq.queue.undurable.xiangshang.test=queue.undurable.xiangshang.test
rmq.queue.priority.xiangshang.test=queue.priority.xiangshang.test
rmq.queue.delay.xiangshang.test=queue.delay.xiangshang.test
rmq.exchange.direct.xiangshang.test=exchange.direct.xiangshang.test