问题标签 [spring-cloud-stream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 如何将@RefreshScope 与@EnableBinding 注释的类一起使用?
@EnableBinding
将 class 变成@Configuration
,并且记录在案:
@RefreshScope(技术上)在@Configuration 类上工作,但它可能会导致令人惊讶的行为:例如,这并不意味着该类中定义的所有@Bean 本身都是@RefreshScope。具体来说,任何依赖于这些 bean 的东西都不能依赖它们在刷新启动时被更新,除非它本身在 @RefreshScope 中(其中它将在刷新时重建并重新注入其依赖项,此时它们将是从刷新的@Configuration 重新初始化)。
所以只是一个实际的问题:有没有办法更新一些带有注释的 Receiver 类@EnableBinding
?我猜它不会由框架处理,应该用自定义实现@EventListener
spring-cloud - 如何在 SCDF 中使用“标准”部署流
在本指南中提到,在流的部署过程中,可以为每个模块指定一个“标准”属性。例如
解释仅说明该属性是根据“每个当前可用模块的属性”评估的。
但是,这是什么意思?考虑哪些属性?这个属性的目的到底是什么?例如,该属性在所示示例中的含义是什么:module.log.criteria=groups.contains('x')
?
这些“标准”是表达模块传入消息过滤条件的一种方式吗?
是否有任何进一步的文件?
spring-cloud - 如何使用 Spring Cloud Stream 动态选择 Kafka 主题
我有一个事件类。
目标属性是 Kafka 主题的名称。
如何将消息发布到目的地。
我不能把目的地放在 application.properties 因为目的地是在程序中设置的。
spring-cloud-stream - 字段'bindings [input]'上的对象'spring.cloud.stream'中的spring-cloud-stream字段错误
我研究了spring-cloud-stream,遇到了一些问题。
还有水槽:
启动应用程序时,redis-cli:
问题是 :
1:redis-cli 导出应该像 "2016-04-06 12:07:19" ,但不是
2:控制台错误:
spring - 来自 EmbeddedHeadersMessageConverter 的 StringIndexOutOfBoundsException
我正在将一个简单的 Kafka 消费者应用程序从现有框架中移出,并且觉得 spring-cloud-stream 是一种简单的方法。我使用 Initializr 来引导应用程序,该应用程序现在使用 Spring-Boot v1.3.3 和 Spring-Cloud-Stream v1.0.0-RC1。该应用程序非常简单,它所要做的就是从 Kafka 中挑选一条消息,反序列化 JSON 编码对象并将其传递给我们现有的库。开始时我只使用了 LogSink 示例,因为最终我不会做太多其他事情(只是反序列化并将对象传递给不同的方法)。
这一切都很好:它连接到 Kafka,接收消息并将它(作为字节 [])传递到我的接收器。但是,EmbeddedHeadersMessageConverter 记录了 StringIndexOutOfBoundsException:
https://github.com/spring-cloud/spring-cloud-stream/issues/209似乎表明问题是缺少 Kafka 标头,这是真的,没有。但是那里提到的解决方案是添加
到我的应用程序配置。不幸的是,这对我不起作用。此外,STS 实际上对各个属性都有自动完成功能,它建议
两个(单独或组合)都没有任何区别,仍在记录异常。
我已经使用 Spring 多年了,但这将是我的第一个 Spring-Boot/Spring-Cloud 应用程序。
这是应用程序代码:
我尝试了@ServiceActivator 和@StreamListener 注释,在这种情况下似乎没有什么不同。
我的 application.properties 看起来像这样:
任何帮助摆脱此错误将不胜感激。
附带说明:由于我刚开始尝试使用 spring-cloud-stream 我添加了
到配置以避免每次我重新启动时都必须发送新消息,但这不起作用。
microservices - 微服务消息传递 db 分配的标识符
我工作的公司正在研究从我们当前的单体 API 迁移到微服务。我们当前的 API 严重依赖于 Spring,我们使用 SQL Server 来实现大部分持久性。我们的微服务调查倾向于 spring-cloud、spring-cloud-stream、kafka 和 polyglot 持久性(每个微服务的隔离数据库)。
我有一个关于通过 kafka 进行消息传递通常如何在微服务架构中完成的问题。我们计划在一组微服务和我们的客户端应用程序之间建立一个协调层,该层将协调不同微服务之间的活动,并将客户端与微服务 API 的更改隔离开来。我们读过的关于使用 spring-cloud-stream 和 kafka 的大部分内容都表明我们应该在协调层(源)使用流来进行资源更改操作(插入、更新、删除),而微服务是消息。
我遇到问题的地方是插入。我们大量使用数据库分配的标识符(身份列/自动增量列/序列/代理键),它们通常作为发布请求的一部分分配并返回给调用者。协调层可能会使用不同的微服务保存多个内容,并且通常需要从一个插入中分配的标识符才能继续进行下一个操作。使用协调层和微服务之间的消息进行插入使得协调层无法从插入操作中获得响应,因此无法获得所需的分配标识符。此外,流上的其他消费者(即,将数据发布到数据仓库的消费者)确实需要消息包含分配的标识符。
人们如何处理这个问题?数据库分配的标识符是微服务中的反模式吗?我们是否应该公开返回数据库分配标识符的单独微服务端点,以便协调层可以在调用异步插入之前进行同步调用以获取标识符?我们可以使用 UUID,但我们的 DBA 讨厌将它们用作主键,并且它们不能用作订单号或其他面向用户的生成 id。
spring - 使用 Spring Integration DSL Mail 时出现 ConcurrentModificationException
我正在尝试使用 Spring Integration Java DSL 来接收电子邮件(gmail)。我也在使用 Redis。当我收到邮件时,我得到 ConcurrentModificationException 。在搜索时,我还发现人们在 Kafka 中也遇到了同样的错误。下面是我的代码和异常。
感谢您的帮助。
例外 :
spring - Spring Cloud Stream DataFlow - 无法加载驱动程序类:com.mysql.jdbc.Driver
我只是在测试这个 URL HTTP 到 MySQL的示例,其目的是创建从 http 到 mysql 数据库的流。
根据示例,有关 jdbc 连接的所有信息都在流定义中指定(jdbc --includes='mysql:mysql-connector-java:5.1.38' --spring.datasource.url='jdbc:mysql: //localhost:3306/Streams' --table-name=names --columns=name --spring.datasource.driver-class-name=com.mysql.jdbc.Driver --initialize=false) 但不知何故我的例子失败了抱怨找不到 com.mysql.Driver 类。
我还尝试通过将 mysql 依赖项添加到本地服务器的 POM.xml 文件(spring-cloud-dataflow-server-local)但没有运气,我也尝试在调用 java -jar 命令时将其添加到类路径中. 在任何一种情况下,错误都会持续存在。
在所有情况下,jdbc 模块显示的错误都是这样的:
谁能指出我错过了什么?
谢谢。
spring-boot - 春天云流'bindingService'错误
我正在尝试实现 Turbine AMQP 以将来自多个服务的所有流合并到 Hystrix Dashboard。
所以我在 gradle 文件中添加了几个 fo 依赖项,之后由于某种原因我无法启动我的应用程序。
我看到异常的启动日志。
这是我的 .Gradle,我为 hystrix、hystrix-ampqp、starter-bus-amqp 添加了依赖项。
感谢任何帮助我已经坚持了一段时间。