Spring Cloud Stream监听已存在的Queues/Exchanges
环境准备
- rabbitmq已运行,端口
5672,控制台web端口15672,用户名密码guest/guest
- rabbitmq已运行,端口
引入
spring cloud stream依赖compile('org.springframework.cloud:spring-cloud-starter-stream-rabbit')
创建
StreamClient接口public interface StreamClient { String INPUT = "input"; String OUTPUT = "output"; @Input(StreamClient.INPUT)
SubscribableChannel input(); @Output(StreamClient.OUTPUT)
MessageChannel output();
}
创建监听
StreamReceiver类@Slf4j
@Component
@EnableBinding(StreamClient.class)
public class StreamReceiver { // 直接监听队列
// @RabbitListener(queues = "error_log")
// public void listenerObject(byte[] message) throws UnsupportedEncodingException {
// String errorLog = new String(message, "utf-8");
// log.info("Stream Receiver Object: {}", errorLog);
//
// } @StreamListener(StreamClient.INPUT)
public void processInput(Object message) {
String errorLog = new String((byte[]) message, StandardCharsets.UTF_8);
log.info("StreamInput Receiver Object: {}", errorLog);
} }
配置
application.yamlspring:
rabbitmq:
host: x.x.x.x
port: 5672
username: guest
password: guest
cloud:
stream:
bindings:
input:
destination: LogExchanger #Exchange名称
group: error_log #队列名称
# output:
# destination: LogExchanger
# group: error_log
rabbit:
bindings:
input:
consumer:
bindQueue: false
declareExchange: false
queueNameGroupOnly: true
Spring Cloud Stream监听已存在的Queues/Exchanges的更多相关文章
- Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑
应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的: ...
- Spring Cloud Stream如何消费自己生产的消息?
在上一篇<Spring Cloud Stream如何处理消息重复消费>中,我们通过消费组的配置解决了多实例部署情况下消息重复消费这一入门时的常见问题.本文将继续说说在另外一个被经常问到的问 ...
- Spring Cloud Stream如何处理消息重复消费?
最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题.通过沟通与排查下来主要还是用户对消费组的认识不够.其实,在之前的博文 ...
- 使用 Spring Cloud Stream 构建消息驱动微服务
相关源码: spring cloud demo 微服务的目的: 松耦合 事件驱动的优势:高度解耦 Spring Cloud Stream 的几个概念 Spring Cloud Stream is a ...
- Kafka及Spring Cloud Stream
安装 下载kafka http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz kafka最为重要三个配置依次为:broke ...
- Spring Cloud Stream在同一通道根据消息内容分发不同的消费逻辑
应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的: ...
- Spring Cloud Stream(十三)
说明 对Spring Boot 和 Spring Integration的整合,通过Spring Cloud Stream能够简化消息中间件使用的复杂难度!让业务人员更多的精力能够花在业务层面 简单例 ...
- Spring cloud stream【入门介绍】
案例代码:https://github.com/q279583842q/springcloud-e-book 在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了哪个中间件比如 ...
- 消息驱动式微服务:Spring Cloud Stream & RabbitMQ
1. 概述 在本文中,我们将向您介绍Spring Cloud Stream,这是一个用于构建消息驱动的微服务应用程序的框架,这些应用程序由一个常见的消息传递代理(如RabbitMQ.Apache Ka ...
随机推荐
- 搭建 .Net RabbitMQ 开发环境
开发环境,window 10 64位,VS2017,系统账号需要用administrator. 1 先需要安装erlang语言开发包,一路默认安装就是了,地址:http://www.erlang.or ...
- express 和 pm2 建立博客
前置知识 node.js 相关 服务器相关 在本地参照 express 官网的例子写成后, 上传服务器. 服务器安装 pm2 ,实用 pm2 保护进程. 注意静态文件实用的方法 app.use(exp ...
- UOJ428. 【集训队作业2018】普通的计数题
http://uoj.ac/problem/428 题解 神仙题. 考虑最后一定是放了一个\(1\),然后把其他位置都删掉了. 再考虑到对于序列中的每个位置都对应了一次操作. 我们可以对于每个放\(1 ...
- Oracle Like子句
Oracle Like子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle LIKE运算符来测试列中的值是否与指定 ...
- How to run a function when the page is loaded?
How to run a function when the page is loaded? window.onload = codeAddress; should work - here's a d ...
- TC39 - 新特性
tc39/proposal-hashbang: #! for JS 某些奇怪的报错可能是因为系统不支持 Shebangs / Hashbang 导致的. 貌似 Node.js 已经支持这个新特性了,使 ...
- 添加环境变量(path)
使用命令提示符((cmd)(批处理)(Batch)(.bat))添加环境变量 永久环境变量 命令提示符下修改 ==注意:要使用管理员身份运行cmd== set PATH=%PATH%;要添加的路径 r ...
- Ajax,学习教程!
一.什么是Ajax? 2005 年Jesse James Garrett 发表了一篇文章,标题为:“Ajax:A new Approach to Web Applications”.他在这篇文章里介绍 ...
- Openstack 通过 SQLAlchemy-ORM 访问数据库
目录 目录 Demo SQLAlchemy 数据库的初始化 数据库的操作实现 数据库的操作请求 全部查询 单个查询 创建 更新 删除 Demo Github/JmilkFan/my-code-repe ...
- RNN系列
漫谈RNN之梯度消失及梯度爆炸:http://bbs.imefuture.com/article/4405 漫谈RNN之长短期记忆模型LSTM:http://bbs.imefuture.com/art ...