`
m635674608
  • 浏览: 5041961 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SpringCloud中Rabbitmq的使用

 
阅读更多

SpringCloud中Rabbitmq的使用

1.pom配置,添加以来jar包

1 <dependency>
2     <groupId>org.springframework.cloud</groupId>
3     <artifactId>spring-cloud-starter-bus-amqp</artifactId>
4 </dependency>

2.配置文件配置

复制代码
1 #RabbitMq
2 spring.rabbitmq.host=${dev.spring.rabbitmq.host}
3 spring.rabbitmq.port=${dev.spring.rabbitmq.port}
4 spring.rabbitmq.username=${dev.spring.rabbitmq.username}
5 spring.rabbitmq.password=${dev.spring.rabbitmq.password}
6 
7 spring.rabbitmq.exchange=${dev.spring.rabbitmq.exchange}
8 spring.rabbitmq.routingkey=${dev.spring.rabbitmq.routingkey}
9 spring.rabbitmq.queue=${dev.spring.rabbitmq.queue}
复制代码

3.rabbitmq消息发送一

1 @Autowired 
2 private AmqpTemplate amqpTemplate;
3 //key:消息名称;content:消息内容
4 public void send(String key,String content) {
5     amqpTemplate.convertAndSend(key, content); 
6 }

4.rabbitmq消息接收一

复制代码
 1 @Component
 2 @EnableScheduling
 3 public class ClmNeedPaperMqReciever extends ClmBaseMqReciever {
 4 /**
 5 *RabbitListener:rabbitmq监听;queues = "queues1":监听的队列名*称;@Payload String orderXML:接收到的消息内容
 6 */
 7 @RabbitHandler
 8 @RabbitListener(queues = "queues1", containerFactory = "rabbitListenerContainerFactory")
 9 public void process(@Payload String orderXML) {
10 
11     //处理内容
12 }
复制代码

5.rabbitmq发送二

复制代码
 1 String MQname ="ClmClose";
 2 ConnectionFactory factory = new ConnectionFactory();
 3 factory.setHost("129.1.9.193");
 4 factory.setUsername("admin");
 5 factory.setPassword("admin");
 6 factory.setPort(5672);
 7 Connection connection;
 8 try {
 9 connection = factory.newConnection();
10 Channel channel = connection.createChannel();
11 channel.queueDeclare(MQname, true, false, false, null);
12 channel.basicPublish("", MQname, null, returnJSON.getBytes("UTF-8"));
13 channel.close();
14 connection.close();
复制代码

6.rabbitmq接收二

复制代码
 1 /* 建立连接 */
 2 ConnectionFactory factory = new ConnectionFactory();
 3 factory.setHost("129.1.9.193");// MQ的IP
 4 factory.setPort(5672);// MQ端口
 5 factory.setUsername("admin");// MQ用户名
 6 factory.setPassword("admin");// MQ密码
 7 Connection connection = factory.newConnection();
 8 Channel channel = connection.createChannel();
 9 
10 /* 声明要连接的队列 */
11 channel.queueDeclare(QUEUE_NAME, true, false, false, null);
12 System.out.println("等待消息产生:");
13 
14 /* 创建消费者对象,用于读取消息 */
15 QueueingConsumer consumer = new QueueingConsumer(channel);
16 channel.basicConsume(QUEUE_NAME, true, consumer);
17 
18 /* 读取队列,并且阻塞,即在读到消息之前在这里阻塞,直到等到消息,完成消息的阅读后,继续阻塞循环 */
19 while (true) {
20 QueueingConsumer.Delivery delivery = consumer.nextDelivery();
21 String message = new String(delivery.getBody(),"UTF-8");
22 System.out.println("收到消息'" + message + "'");
23 }
复制代码

7.用接收一的方法去接收发送二的内容时需要转换,否则会出现乱码

复制代码
 1 @Component
 2 @EnableScheduling
 3 public class ClmNeedPaperMqReciever extends ClmBaseMqReciever {
 4 
 5 /**
 6 *RabbitListener:rabbitmq监听;queues = "queues1":监听的队
 7 *列名称;@Payload String orderXML:接收到的消息内容
 8 */
 9 @RabbitHandler
10 @RabbitListener(queues = "queues1", containerFactory = "rabbitListenerContainerFactory")
11 public void process(@Payload String orderXML) {
12 
13 //处理内容
14 
15 // 解析报文对象,将byte数组还原
16 String[] listStr = orderXML.split(",");
17 byte[] listByte = new byte[listStr.length];
18 for (int i = 0; i < listStr.length; i++) {
19 listByte[i] = new Byte(listStr[i]);
20 }
21 orderXML = new String(listByte, "UTF-8");
22 
23 }
24 
25  
http://www.cnblogs.com/ZnCl/p/7117188.html
分享到:
评论

相关推荐

    介绍Spring Cloud Stream与RabbitMQ集成

    介绍Spring Cloud Stream与RabbitMQ集成的代码示例。Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。

    springCloud+rabbitMq

    标题 "springCloud+rabbitMq" 暗示了这篇内容是关于如何在Spring Cloud框架中集成并使用RabbitMQ的教程。Spring Cloud是微服务架构中的一个组件集合,提供了服务发现、配置管理、断路器等核心功能,而RabbitMQ则是一...

    springcloud bus rabbitmq 分布式队列

    springcloud bus rabbitmq 分布式队列 http://knight-black-bob.iteye.com/blog/2356839

    springcloud部署rabbitMQ

    接下来,我们将详细讨论如何在SpringCloud项目中配置和使用RabbitMQ。 首先,你需要在本地或者服务器上安装RabbitMQ。可以从官方网站下载对应操作系统的安装包,按照指南完成安装。安装完成后,确保RabbitMQ服务...

    springcloud集成RabbitMq

    在Spring Cloud框架中集成RabbitMQ,主要是为了实现微服务之间的高效、可靠的消息通信。RabbitMQ是一个开源的消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol)协议,提供了高可用性、可扩展...

    22.Spring Cloud整合RabbitMQ或Kafka消息驱动

    在Spring Cloud框架中,整合RabbitMQ或Kafka作为消息驱动是常见的微服务间通信方式。这两种技术都是流行的消息中间件,用于实现异步处理、解耦和扩展性。下面将详细阐述它们在Spring Cloud中的应用。 首先,...

    springCloud-rabbitmq分布事物实现.zip

    Spring Cloud为RabbitMQ提供了一套完整的配置和API支持,使得在Spring Boot应用中使用RabbitMQ变得更加便捷。通过`@EnableRabbit`注解,我们可以启用RabbitMQ配置,并通过`@RabbitListener`监听消息,`@...

    springcloud微服务技术栈-个人笔记文档(基础篇)

    在 SpringCloud 中,通常与 Eureka 结合使用,自动从 Eureka Server 获取服务列表并进行负载均衡。 3. **Zuul** 和 **Netflix Gateway**:这两者都是边缘服务,作为 API 网关,处理所有来自外部的请求,提供路由...

    spring cloud stream rabbitmq 资源

    在Spring Cloud Stream中集成RabbitMQ,我们可以构建强大的事件驱动的微服务架构。 首先,让我们深入理解Spring Cloud Stream的核心概念: 1. **Binder**: Binder是Spring Cloud Stream的核心组件,负责连接应用和...

    springcloud_rabbitMQ_消息可靠性投递.rar

    本教程将深入探讨如何在SpringCloud项目中使用RabbitMQ确保消息的可靠性投递。 首先,了解RabbitMQ的基本概念是必要的。RabbitMQ包含生产者(Producer)、消费者(Consumer)、交换机(Exchange)、队列(Queue)和...

    SpringCloudStream整合RabbitMq

    要在Spring Boot项目中使用SpringCloudStream和RabbitMQ,首先需要在`pom.xml`文件中添加`spring-cloud-starter-stream-rabbit`依赖。确保版本与Spring Boot版本兼容,例如: ```xml &lt;groupId&gt;org.springframework...

    94-springcloud的rabbitmq的publisher消息发送者、rabbitmq消息中间件、receive.zip

    94-springcloud的rabbitmq的publisher消息发送者、rabbitmq消息中间件、receive

    Spring boot,springCloud精选视频教程

    3.Spring Cloud中服务的发现与消费 4.Eureka中的核心概念 5.什么是客户端负载均衡 6.Spring RestTemplate中几种常见的请求方式 7.RestTemplate的逆袭之路,从发送请求到负载均衡 8.Spring Cloud中负载均衡器...

    Spring Cloud 中文文档 参考手册 中文版2018

    Spring Cloud Stream应用模型中涉及到了生产者、消费者、分区支持以及绑定器(Binder)的使用。Binder SPI提供了与不同消息中间件的绑定器的连接能力。消息通道(Channel)是Spring Cloud Stream的核心概念,它用于...

    java面试题汇总 包括 java基础, mysql, redis, springcloud, rabbitmq等

    面试题很全, 都是自己整理的, 包括 java基础, mysql, redis, rabbitmq以及spring cloud等知识, 适用于初级,中级java工程师

    基于Spring Cloud、RabbitMQ和Docker的Java在线判题系统代码沙箱设计源码

    该项目是一款基于Spring Cloud微服务架构、RabbitMQ消息队列和Docker容器技术的Java在线判题系统代码沙箱源码,包含30个文件,其中18个为Java源文件,7个为XML配置文件,1个为Git忽略文件,以及少量HTML和Markdown...

    spring cloud整合MQTT简单示例

    spring cloud整合MQTT简单示例,分为三个项目eureka-server、service-hi、service-ribbon,MQTT环境需要自己提前搭好,我这搭的环境是apache-apollo-1.7.1

    SpringCloud.pdf

    6. **分布式消息传递**:Spring Cloud Stream 支持集成消息中间件(如 RabbitMQ、Kafka),实现服务间的异步通信和解耦。 云原生应用程序是Spring Cloud 支持的一种开发范式,鼓励采用持续交付和以价值为导向的开发...

Global site tag (gtag.js) - Google Analytics