流怎么在SpringCloud中使用

  介绍

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


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

2。编写下面的yml文件

服务器:   ,端口:8801      春天:   ,应用程序:   名称:才能cloud-stream-provider   ,rabbitmq:   主持人:才能192.168.43.76   ,,端口:5672   用户名:才能客人   密码:才能客人   ,云:   流才能:   ,,,绑定:#,在此处配置要绑定的rabbitmq的服务信息;   ,,,defaultRabbit:, #,表示定义的名称,用于于绑定整合   ,,,,类型:,rabbit  #,消息组件类型   #,,,,,环境:,#,设置rabbitmq的相关的环境配置,(本机方式)   #,,,,,,春天:   #,,,,,,,rabbitmq:   #,,,,,,,,主持人:localhost   #,,,,,,,,端口:5672   #,,,,,,,,用户名:客人   #,,,,,,,,密码:客人   ,,,绑定:#,服务的整合处理   输出:,,,,#,这个名字是一个通道的名称   ,,,,目的地:,studyExchange  #,表示要使用的交换名称定义   ,,,,- type:,应用程序/json  #,设置消息类型,本次为json,文本则设置“文本/普通”   ,,,,粘结剂:,defaultRabbit  #,设置要绑定的消息服务的具体设置(爆红不要管)      尤里卡:   ,客户:#,客户端进行尤里卡注册的配置   服务url才能:   ,,defaultZone: http://localhost: 7001/尤里卡   ,实例:   ,,lease-renewal-interval-in-seconds: 2, #,设置心跳的时间间隔(默认是30秒)   lease-expiration-duration-in-seconds才能:5,#,如果现在超过了5秒的间隔(默认是90秒)   实例id:,才能发送- 8801. - com  #,在信息列表时显示主机名称   prefer-ip-address才能:true ,, #,访问的路径变为IP地址

3。编写服务、下面仅展示实现类:

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,因为该服务是跟rabbitmq打交道的   @EnableBinding (Source.class)//定义消息的推送管道   public  class  MessageProviderImpl  implements  IMessageProvider  {      ,@   private 才能;MessageChannel 输出;      @Override才能   public 才能;String 发送(),{   ,,,String  serial =, UUID.randomUUID () .toString ();   ,,,output.send (MessageBuilder.withPayload(串行).build ());   ,,,System.out.println(“* * * * *系列:“+系列);   ,,,return 零;   ,,}   }

4。编写控制器

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

案例之消息驱动消费者

1。写pom,加上下面的依赖

 & lt; dependency>
  ,,,,,& lt; groupId> org.springframework.boot
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

流怎么在SpringCloud中使用