iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Stream怎么在SpringCloud中使用
  • 946
分享到

Stream怎么在SpringCloud中使用

2023-06-14 09:06:55 946人浏览 独家记忆
摘要

本篇文章为大家展示了Stream怎么在SpringCloud中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.建一个项目,并添加如下的依赖: <dependency>&n

本篇文章为大家展示了Stream怎么在SpringCloud中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1.建一个项目,并添加如下的依赖:

 <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-WEB</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-stream-rabbit</artifactId>    </dependency>

编写下面的yml文件

server: port: 8801spring: application:  name: cloud-stream-provider RabbitMQ:  host: 192.168.43.76  port: 5672  username: guest  passWord: guest cloud:  stream:   binders: # 在此处配置要绑定的rabbitMQ的服务信息;    defaultRabbit: # 表示定义的名称,用于于binding整合     type: rabbit # 消息组件类型#     environment: # 设置rabbitmq的相关的环境配置,(本机方式)#      spring:#       rabbitmq:#        host: localhost#        port: 5672#        username: guest#        password: guest   bindings: # 服务的整合处理    output: # 这个名字是一个通道的名称     destination: studyExchange # 表示要使用的Exchange名称定义     content-type: application/JSON # 设置消息类型,本次为json,文本则设置“text/plain”     binder: defaultRabbit # 设置要绑定的消息服务的具体设置(爆红不要管)eureka: client: # 客户端进行Eureka注册的配置  service-url:   defaultZone: Http://localhost:7001/eureka instance:  lease-renewal-interval-in-seconds: 2 # 设置心跳的时间间隔(默认是30秒)  lease-expiration-duration-in-seconds: 5 # 如果现在超过了5秒的间隔(默认是90秒)  instance-id: send-8801.com # 在信息列表时显示主机名称  prefer-ip-address: true   # 访问的路径变为IP地址

编写service,下面仅展示实现类:

import org.lzl.sprinGCloud.service.IMessageProvider;import org.springframework.cloud.stream.annotation.EnableBinding;import org.springframework.cloud.stream.messaging.Source;import org.springframework.messaging.MessageChannel;import org.springframework.messaging.support.MessageBuilder;import javax.annotation.Resource;import java.util.UUID;//注意这里不需要写@Service,因为该service是跟rabbitmq打交道的@EnableBinding(Source.class)//定义消息的推送管道public class MessageProviderImpl implements IMessageProvider {  @Resource  private MessageChannel output;  @Override  public String send() {    String serial = UUID.randomUUID().toString();    output.send(MessageBuilder.withPayload(serial).build());    System.out.println("*****serial:"+serial);    return null;  }}

编写controller

import org.lzl.springcloud.service.IMessageProvider;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;@RestControllerpublic class SendMessageController {  @Resource  private IMessageProvider messageProvider;  @GetMapping(value = "/sendMessage")  public String sendMessage(){    return messageProvider.send();  }}

案例之消息驱动消费者

写pom,加上下面的依赖

<dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-starter-stream-rabbit</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>

编写yml,和生产者唯一的区别在于,下面是input

server: port: 8802spring: application:  name: cloud-stream-consumer rabbitmq:  host: 192.168.43.76  port: 5672  username: guest  password: guest cloud:  stream:   binders: # 在此处配置要绑定的rabbitmq的服务信息;    defaultRabbit: # 表示定义的名称,用于于binding整合     type: rabbit # 消息组件类型#     environment: # 设置rabbitmq的相关的环境配置#      spring:#       rabbitmq:#        host: localhost#        port: 5672#        username: guest#        password: guest   bindings: # 服务的整合处理    input: # 这个名字是一个通道的名称     destination: studyExchange # 表示要使用的Exchange名称定义     content-type: application/json # 设置消息类型,本次为对象json,如果是文本则设置“text/plain”     binder: defaultRabbit # 设置要绑定的消息服务的具体设置eureka: client: # 客户端进行Eureka注册的配置  service-url:   defaultZone: http://localhost:7001/eureka instance:  lease-renewal-interval-in-seconds: 2 # 设置心跳的时间间隔(默认是30秒)  lease-expiration-duration-in-seconds: 5 # 如果现在超过了5秒的间隔(默认是90秒)  instance-id: receive-8802.com # 在信息列表时显示主机名称  prefer-ip-address: true   # 访问的路径变为IP地址

编写controller,该controller不向外界暴露端口,起到实时监控消息管道的作用!

import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.stream.annotation.EnableBinding;import org.springframework.cloud.stream.annotation.StreamListener;import org.springframework.cloud.stream.messaging.Sink;import org.springframework.messaging.Message;import org.springframework.stereotype.Component;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;@Component@EnableBinding(Sink.class)public class ReceiveMessageListenerController {  @Value("${server.port}")  private String serverPort;  @StreamListener(Sink.INPUT)//只要8801发送消息,8802就会接收到8801的消息  public void input(Message<String> message){    System.out.println("消费者1号--------》接收到的消息:"+message.getPayload()+"\t port: "+serverPort);  }}

测试

启动rabbitMQ和上面的两个项目,访问http://localhost:8801/sendMessage
在消费者的控制台中就会出现下面的订单流水号:

Stream怎么在SpringCloud中使用

补充说明

我们打开rabbitmq的监控界面:发现默认是帮我们分组的

Stream怎么在SpringCloud中使用

想要自定义分组只需要在消费者的yml文件中加上下面的一行:

Stream怎么在SpringCloud中使用

上述内容就是Stream怎么在SpringCloud中使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Stream怎么在SpringCloud中使用

本文链接: https://www.lsjlt.com/news/269593.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Stream怎么在SpringCloud中使用
    本篇文章为大家展示了Stream怎么在SpringCloud中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.建一个项目,并添加如下的依赖: <dependency>&n...
    99+
    2023-06-14
  • java springcloud的Stream怎么使用
    本篇内容主要讲解“java springcloud的Stream怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java springcloud的Stream怎么使用”吧!Spring C...
    99+
    2023-06-05
  • SpringCloud Stream使用解析
    目录SpringCloudStream下面用RabbitMQ来说明使用!案例之消息驱动之生产者案例之消息驱动消费者测试补充说明SpringCloudStream 官方定义Sprin...
    99+
    2024-04-02
  • Eureka在springcloud中怎么使用
    这篇文章主要介绍“Eureka在springcloud中怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Eureka在springcloud中怎么使用”文章能帮助大家解决问题。什么是服务发现与...
    99+
    2023-06-05
  • 怎么在Java中使用Stream流求和
    今天就跟大家聊聊有关怎么在Java中使用Stream流求和,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。BigDecimal:BigDecimal bb =lis...
    99+
    2023-06-06
  • 怎么在Java中使用reactive stream协议
    这篇文章将为大家详细讲解有关怎么在Java中使用reactive stream协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是reactive stream上面我们讲到了reacti...
    99+
    2023-06-15
  • Java8中Stream怎么使用
    今天小编给大家分享一下Java8中Stream怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、概述Java 8 是...
    99+
    2023-07-02
  • java中Stream怎么使用
    这篇文章将为大家详细讲解有关java中Stream怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、使用流程Stream 的实例化一系列的中间操作(过滤、映射、...)终止操作2、注意点一个中间操...
    99+
    2023-06-15
  • 怎么在java中使用Stream操作元素
    怎么在java中使用Stream操作元素?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;...
    99+
    2023-06-14
  • Stream如何在java中使用
    Stream如何在java中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客...
    99+
    2023-06-14
  • stream中怎么正确使用peek
    这篇文章主要讲解了“stream中怎么正确使用peek”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“stream中怎么正确使用peek”吧!简介自从JDK中引入了stream之后,仿佛一切都...
    99+
    2023-07-05
  • Spark Stream怎么使用
    这篇文章主要讲解了“Spark Stream怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spark Stream怎么使用”吧!pom.xml<dependency>&n...
    99+
    2023-06-03
  • 怎么使用Java Stream
    本篇内容主要讲解“怎么使用Java Stream”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java Stream”吧!Stream的特点如果你要用好Stream,你必须搞清楚它的特点...
    99+
    2023-06-15
  • SpringCloud Hystrix怎么使用
    这篇文章主要介绍“SpringCloud Hystrix怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringCloud Hystrix怎么使用”文章能帮助大家解决问...
    99+
    2023-07-02
  • 如何在java中使用Stream函数
    这篇文章给大家介绍如何在java中使用Stream函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。1...
    99+
    2023-06-14
  • Spring Cloud Stream怎么使用
    这篇文章主要讲解了“Spring Cloud Stream怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud Stream怎么使用”吧!Spring Cloud ...
    99+
    2023-06-19
  • Node.js中Stream怎么用
    这篇文章主要为大家展示了“Node.js中Stream怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node.js中Stream怎么用”这篇文章吧。一、什...
    99+
    2024-04-02
  • SpringCloud的Gateway怎么使用
    这篇文章主要讲解了“SpringCloud的Gateway怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringCloud的Gateway怎么使用”吧!SpringCloud微服...
    99+
    2023-06-05
  • SpringCloud中Hystrix怎么用
    这篇文章主要为大家展示了SpringCloud中Hystrix怎么用,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“SpringCloud中Hystrix怎么用”这篇文章吧。1.概念服务降级:服务器...
    99+
    2023-06-28
  • WCF Stream对象怎么使用
    本篇内容介绍了“WCF Stream对象怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!WCF支持对Stream对象的操作,尤其对于传...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作