当前位置: 首页 > ops >正文

Spring-messaging-MessageChannel的子接口PollableChannel

目录

    • PollableChannel的实现类QueueChannel(异步,点对点)

首先要约定几个词
同步:往通道发送消息,必须要等待接收消息的那方把消息处理完成,发送方的代码才能继续往下走
异步:直接扔消息进通道,不需要等待接收方处理消息,发送方的代码直接往下走
点对点:假设通道10个订阅者,往通道扔消息,只有1个订阅者才能收到,再次扔消息,也只有1个订阅者才能收到,这点可以做负载均衡,可以用来实现类似MQ的消费组场景
广播:假设通道有10个订阅者,往通道仍消息,10个订阅者全都能收到(注意:如果是同步,则10个订阅者是处理完1个,下1个才能收到消息,虽然是广播,但本质是逐个轮询)

PollableChannel的实现类QueueChannel(异步,点对点)

public static void main(String[] args) throws InterruptedException {PollableChannel messageChannel = new QueueChannel();((IntegrationObjectSupport)messageChannel).setComponentName("通道名字");Thread t = new Thread(() -> {while (true) {// 新启一个线程,在这一直拽消息,此方法会一直阻塞,如果没有消息的话Message<?> msg = messageChannel.receive();System.out.println("你刚刚输入了:" + msg.getPayload());}});t.start();// 从控制台输入消息Scanner scanner = new Scanner(System.in);System.out.print("请输入字符串:");while (true) {String input = scanner.nextLine(); // 读取整行输入(包括空格)Message<String> message = new GenericMessage<>(input);messageChannel.send(message);}}
http://www.xdnf.cn/news/6434.html

相关文章:

  • 软考软件评测师——计算机组成与体系结构
  • 学习日志07 java
  • 登录接口中图片验证码Tesseract-OCR识别Java脚本
  • 全息美AISEO引领AIGEO新趋势
  • centos7部署mysql5.7
  • C++ 函数声明,定义与命名空间的关系
  • 投影仪基础知识及选购方向小记②
  • Media Controller API 1. Introduction 翻译
  • 某某查响应数据解密逆向分析-js逆向
  • 边缘计算平台
  • 串行接口与并行接口
  • API 接口开放平台 Crabc 3.2 发布
  • 70、微服务保姆教程(十三)Docker容器详细讲义
  • 香港科技大学广州|智能制造学域硕博招生宣讲会-西北工业大学专场
  • 【沉浸式求职学习day40】【java面试题精选2】
  • 代码分支操作步骤
  • 人工智能(AI)与机器学习(ML):定义、区别及应用解析
  • web3 前端常见错误类型以及错误捕获处理
  • 四维时空数据安全传输新框架:压缩感知与几何驱动跳频
  • 游戏代码混淆的作用与应用分析
  • C++:运算符重载
  • 2025年5月通信科技领域周报(5.5-5.11):6G终端生态加速构建 量子通信迈入城际商用新阶段
  • GRE作文总结和归纳
  • next.js实现项目搭建
  • 院校机试刷题第三天:1393矩阵转置、1703最大字串和、1700判断回文数
  • 使用Python开发经典俄罗斯方块游戏
  • 蓝桥杯 2024 C++国 B最小字符串
  • 【算法】前缀和
  • [项目深挖]仿muduo库的并发服务器的解析与优化方案
  • Flink 1.13.2 日志配置优化:保留最近 7 天日志文件