`
m635674608
  • 浏览: 5053521 次
  • 性别: 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的核心概念,它用于...

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

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

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

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

    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