简单介绍下怎么在spring中使用RabbitMQ

  这篇文章主要介绍了简单了解如何在spring中使用RabbitMQ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  常见的消息中间件产品:

  (1)ActiveMQ

  ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。

  (2)RabbitMQ

  AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。我们在本次课程中介绍 RabbitMQ的使用。

  (3)ZeroMQ

  史上最快的消息队列系统

  (4)Kafka

  Apache下的一个子项目 。特点:高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统。适合处理海量数据。

  (5)RocketMQ 阿里巴巴

  消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)。(www.0831jlyy.com)

  消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。

  ? Spring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。

  已经配置好了ssm的开发环境

  1.导入依赖

<dependencies>
  <dependency>
   
<groupId>com.rabbitmq</groupId>
   
<artifactId>amqp-client</artifactId>
   
<version>5.5.3</version>
  </dependency>
 
<dependency>
   
<groupId>org.springframework.amqp</groupId>
   
<artifactId>spring-rabbit</artifactId>
   
<version>2.1.3.RELEASE</version>
  </dependency>
 (3g.0834jlnk.com)
 
<dependency>
   
<groupId>com.fasterxml.jackson.core</groupId>
   
<artifactId>jackson-databind</artifactId>
   
<version>2.9.5</version>
 
</dependency>
</dependencies>

  2.编写生产者

  2.1配置文件

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
(m.0831jl.com)
<context:component-scan base-package="cn.test.rabbitmq.spring"/>

<!-- 配置连接工厂 -->
<rabbit:connection-factory virtual-host="/saas"
host="127.0.0.1" port="5672" username="saas" password="saas" />
<!-- 定义mq管理 -->
<rabbit:admin connection-factory="connectionFactory" />

<!-- 声明队列 -->
<rabbit:queue name="spring.test.queue" auto-declare="true" durable="true" />

<!-- 定义交换机绑定队列(路由模式) -->
<rabbit:direct-exchange name="spring.test.exchange">
<rabbit:bindings>
<rabbit:binding queue="spring.test.queue" key="user.insert" />
</rabbit:bindings>
</rabbit:direct-exchange>
<!-- 定义交换机绑定队列(路由模式)使用匹配符
<rabbit:topic-exchange name="spring.test.exchange">
<rabbit:bindings>
<rabbit:binding queue="spring.test.queue" pattern="#.#" />
</rabbit:bindings>
</rabbit:topic-exchange>
-->
<!-- 消息对象json转换类 -->
<bean
class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter" />

<!-- 定义模版 -->
<rabbit:template connection-factory="connectionFactory"
exchange="spring.test.exchange"
message-converter="jsonMessageConverter"/>

</beans>

原文地址:https://www.cnblogs.com/HanaKana/p/12045163.html

时间: 2024-11-16 06:15:23

简单介绍下怎么在spring中使用RabbitMQ的相关文章

Android jni aes加解密,实现文件的加解密,具体实现可以自行修改,上面的代码为简单介绍,下面的是JNI端实现文件加解密,可以修改为字符串加解密

#include "aes.h" #include "modes.h" #include "e_os2.h" #include "aes_locl.h" #include "opensslconf.h" AES_KEY aes; //aes cbc模式加解密用到的向量 unsigned char iv[AES_BLOCK_SIZE]; for (i = 0; i < AES_BLOCK_SIZE; i

简单介绍下微信中如何查看对方是否将你拉黑删除?

现如今微信使用的人越来越多,朋友圈中的好友也有成百个了,有很多人长时间不联系了,想知道对方是否将你拉黑删除了吗?那在微信上如何查看清理那些把你删除的好友呢?我们一起来学习下. 微信上如何查看清理那些把你删除的好友? 第一种:单个发送信息 向好友发送一条消息,验证好友是否将你删除,如果删除,系统会提示你还不是他(她)的好友,请发送好友验证请求,验证请求通过后,才能聊天.经过确认后可以果断删除该好友了,因为他已经将你删除. 第二种:查看好友相册 点击好友信息,查看好友个人相册,如果个人相册为空,一种

简单介绍下python中函数的基础语法

python 函数 定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 特性 减少代码重复 使程序变得可扩展 使程序变得易于维护 函数的创建 python中创建函数,需要使用__def__关键字,后面写函数的名字,然后是形参列表,大体如下: def 函数名(形参列表): 函数体...... return 返回值 其中形参列表和 return返回值并不是必须的. 函数的使用 想要调用函数程序,需要以函数名加括号的形式进行调用,而括号内可以传入参数

简单介绍下MYSQL的索引类型

一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)INDEX(普通索引)      ALTER TABLE `table_name` ADD INDEX index_name ( `column

简单介绍下MYSQL的索引

本文介绍了七种MySQL索引类型.在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和运行更加高效. 一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)

近期用到了Git,就简单介绍下具体用法吧

pull:是下拉代码,相等于将远程的代码下载到你本地,与你本地的代码合并push:是推代码,将你的代码上传到远程的动作完整的流程是: 第一种方法:(简单易懂) 1.git add .(后面有一个点,意思是将你本地所有修改了的文件添加到暂存区)2.git commit -m""(引号里面是你的介绍,就是你的这次的提交是什么内容,便于你以后查看,这个是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)3.git pull origin master 这是下拉代码,将远程最新的

Brief introduction to Java String Split 【简单介绍下Java String Split】

Split is a common function in Java. It split a full string to an array based on delimeter. For example, split "a:b:c" with ":" results in [a, b, c] In some scenario, it's better to keep the delimeter instead of discard it while splitti

请简单介绍一下什么是Spring?

Spring的核心是一个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式:提供对持久层(Persistence).事物(Transcation)的支持:提供MVC Web框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用

简单介绍下网络系统测试方案五步走

网络系统方案测试概述 组网方案的可靠性测试,可归纳为以下几大类: 1.网络系统持续长时间.大压力高负荷.高频率震荡条件下的持续运行能力,即Duration测试. 2.网络系统告警管理功能.系统故障定位手段能力评估. 3.单点故障情况下系统自动恢复时间. 4.验证链路聚合.MSTP.RRPP.BFD.GR.VRRP.ECMP.IRF等HA(High Availability)特性的组合部署功能,并通过调整达到最佳的组合应用效果. 5.构造各类攻击,从端到端对网络系统进行攻击.此类测试往往可以融合在