最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用spring stream發(fā)送消息代碼實例

 更新時間:2020年05月09日 10:40:54   作者:自由港  
這篇文章主要介紹了使用spring stream發(fā)送消息代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

為什么使用spring stream ?

spring stream 是用來做消息隊列發(fā)送消息使用的。他隔離了各種消息隊列的區(qū)別,使用統(tǒng)一的編程模型來發(fā)送消息。

目前支持:

  • rabbitmq
  • kafka
  • rocketmq

啟動rocketmq

rocketmq 支持windows

start mqnamesrv.cmd
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

修改pom.xml

<dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-stream-binder-rocketmq</artifactId>
    </dependency>

增加發(fā)送接收JAVA代碼

public interface InputOutput {
  String MAIL_OUTPUT = "mailOutput";
  String MAIL_INPUT = "mailInput";
  String OUTPUT = "output";
  String INPUT = "input";
  @Output(OUTPUT)
  MessageChannel output();
  @Input(INPUT)
  SubscribableChannel input();
  @Output(MAIL_OUTPUT)
  MessageChannel mailOutput();
  @Input(MAIL_INPUT)
  SubscribableChannel mailInput();
}

在應用上增加注解

@EnableBinding({InputOutput.class})

增加yml配置

spring:
  cloud:
    stream:
     rocketmq:
      binder:
       name-server: 127.0.0.1:9876
     bindings:
      output:
       destination: bpmmessage
       group: bpmmessage-group
  
      input:
       destination: bpmmessage
       group: bpmmessage-group-consumer
  
      mailOutput:
       destination: mail
       group: mail-group
  
      mailInput:
        destination: mail
        group: mail-group-consumer

編寫代碼收發(fā)消息:

MessageModel messageModel=new MessageModel();

    messageModel.setMsgType("mail");
    messageModel.setContent("helloworld");

    inputOutput.mailOutput().send( MessageBuilder.withPayload(
        "mail"
    ).build());

    inputOutput.output().send(
        MessageBuilder.withPayload(
            messageModel
        ).build()
    );

這里發(fā)送的是兩類消息。

接收消息:

@Service
public class MessageListener {

  @StreamListener(InputOutput.INPUT)
  public void receive(MessageModel message) {
    System.err.println(message);
    System.err.println("ok");
  }


  @StreamListener(InputOutput.MAIL_INPUT)
  public void receive(String message) {
    System.err.println(message);
    System.err.println("ok");
  }
}

分別接收兩類消息

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Springboot Session共享實現(xiàn)原理及代碼實例

    Springboot Session共享實現(xiàn)原理及代碼實例

    這篇文章主要介紹了Springboot Session共享實現(xiàn)原理及代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Spring Mybatis 基本使用過程(推薦)

    Spring Mybatis 基本使用過程(推薦)

    Mybatis是一個半自動ORM(Object Relational Mapping)框架,它可以簡化數(shù)據(jù)庫編程,讓開發(fā)者更專注于SQL本身,本文給大家介紹Spring Mybatis 基本使用過程,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 解決IDEA鼠標點擊光標變大問題

    解決IDEA鼠標點擊光標變大問題

    這篇文章主要介紹了解決IDEA鼠標點擊光標變大問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 使用java?-jar修改SpringBoot中application.properties的配置項

    使用java?-jar修改SpringBoot中application.properties的配置項

    這篇文章主要介紹了使用java?-jar修改SpringBoot中application.properties的配置項問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 關于Java中的可見性和有序性問題

    關于Java中的可見性和有序性問題

    這篇文章主要介紹了關于Java中的可見性和有序性問題,Java在誕生之初就支持多線程,自然也有針對這三者的技術方案,今天就學習一下Java如何解決其中的可見性和有序性導致的問題,需要的朋友可以參考下
    2023-08-08
  • Java優(yōu)化if-else代碼的實戰(zhàn)記錄

    Java優(yōu)化if-else代碼的實戰(zhàn)記錄

    開發(fā)中經(jīng)常會根據(jù)不同的參數(shù)判斷走不同的邏輯業(yè)務,我們常用的方法就是if/else嵌套使用,導致每增加一個需求就加一個if,慢慢的就會發(fā)現(xiàn)自己寫的代碼中出現(xiàn)了大量的if/else,這篇文章主要給大家介紹了關于Java優(yōu)化if-else代碼的相關資料,需要的朋友可以參考下
    2021-09-09
  • 詳談HashMap和ConcurrentHashMap的區(qū)別(HashMap的底層源碼)

    詳談HashMap和ConcurrentHashMap的區(qū)別(HashMap的底層源碼)

    下面小編就為大家?guī)硪黄斦凥ashMap和ConcurrentHashMap的區(qū)別(HashMap的底層源碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • java中File類應用遍歷文件夾下所有文件

    java中File類應用遍歷文件夾下所有文件

    這篇文章主要為大家詳細介紹了java中File類應用遍歷文件夾下所有文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java服務中的大文件上傳和下載優(yōu)化技巧分享

    Java服務中的大文件上傳和下載優(yōu)化技巧分享

    在Java服務中處理大文件的上傳和下載是一項常見但復雜的任務,為了提供優(yōu)秀的用戶體驗和高效的系統(tǒng)性能,我們將探索多種策略和技術,并在每一點上都提供代碼示例以便實戰(zhàn)應用,需要的朋友可以參考下
    2023-10-10
  • JAVA如何使用Math類操作數(shù)據(jù)

    JAVA如何使用Math類操作數(shù)據(jù)

    這篇文章主要介紹了JAVA如何使用Math類操作數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論

郎溪县| 南宁市| 乌恰县| 诏安县| 观塘区| 全椒县| 德州市| 白玉县| 治县。| 金湖县| 河源市| 富裕县| 岫岩| 阳信县| 平武县| 九江市| 香河县| 洞头县| 府谷县| 邵阳县| 玉屏| 厦门市| 禄丰县| 邻水| 仁布县| 商洛市| 凉城县| 益阳市| 加查县| 湖口县| 河池市| 安丘市| 平阴县| 百色市| 安吉县| 雅江县| 墨江| 乌海市| 芜湖县| 界首市| 临高县|