问题标签 [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.

0 投票
2 回答
928 浏览

spring-cloud-stream - 分区 - 消费者实例的数量是否总是必须与生产者提供的分区数量相匹配?

在我的 Producer application.properties 中,我有

我的消费者 application.properties 看起来像这样

当我将我的应用程序部署到 Pivotal Cloud Foundry 并将应用程序扩展到 2 个实例时,我看到创建了两个队列。它们以后缀 -0 和 -1 为界。

但这意味着如果消息带有以 -3 或 -4 结尾的主题,那么它们就会丢失,因为这些主题不存在绑定。如果我将消费者缩放为拥有 4 个实例,那么它会按预期工作。

我的问题是消费者实例不可能少于生产者的 partitionCount 吗?在这种情况下,一个或多个队列将有多个绑定到交换

0 投票
1 回答
1379 浏览

java - 如何使用 Rabbit 绑定创建具有事务和 DLQ 的处理器?

我刚刚开始学习 Spring Cloud Streams 和 Dataflow,我想知道对我来说重要的用例之一。我创建了示例处理器乘法器,它接收消息并将其重新发送 5 次以输出。

您可以看到,在第 5 次发送此处理器之前崩溃。为什么?因为它可以(程序抛出异常)。在这种情况下,我想在 Spring Cloud Stream 上练习故障预防。

我想要实现的是在 DLQ 中支持输入消息和之前发送的 4 条消息被还原并且不被下一个操作数使用(就像在正常的 JMS 事务中一样)。我已经尝试在我的处理器项目中定义以下属性,但没有成功。

你能告诉我是否可能,还有我做错了什么?我会非常感谢一些例子。

0 投票
2 回答
3754 浏览

rabbitmq - 使用 Spring Cloud Stream RabbitMQ 手动确认

我正在尝试设置侦听器将手动向 RabbitMQ 发送 ACK 的场景。我的 application.properties 中有这个

如何从侦听器发送 ack?我从Manual Acknowledgment of Messages : Spring Cloud Stream Kafka中看到,对于 Kafka,我们创建了一个 Acknowledgment 对象并在其中调用 acknowledge()。RabbitMQ 有没有做同样事情的例子?

0 投票
1 回答
684 浏览

spring-cloud-stream - Spring Cloud Stream 动态接收器侦听器

我开始使用 SCS,我有以下用例:

  1. 用户打开 HTTP 会话
  2. 服务器根据用户安全属性动态确定要创建接收器侦听器的分区
  3. 为用户会话创建了一个 Sink/Listener,并将其附加到通道分区。
  4. 消息通过 http websocket 转发到浏览器客户端。
  5. 当用户注销时,必须销毁通道上的监听器。

阅读参考文档并没有发现这种动态配置和生命周期管理的意义所在。关于如何实现这一目标的任何线索?

0 投票
1 回答
339 浏览

java - Spring Cloud Stream 是否支持 RabbitMQ Stomp over Websocket

我正在使用Spring Cloud Stream (SpringBoot) 与RabbitMQ实例进行通信。

该项目可以通过AMQP连接到 RabbitMQ ,但不适用于STOMP。任何人都知道:是否支持单脚以及如何配置?(我的RabbitMQ已经开放了61613端口)

application.yml文件是这样的:

0 投票
1 回答
2311 浏览

spring-cloud - 创建名为“bindingService”的 bean 时出错 - Eureka & Bus AMQP

我正在尝试将 Hystrix 集成到我当前的 spring-cloud 和 Netflix OSS 微服务项目中。

我有一个新的 Spring Boot 版本 1.4.0.RELEASE 项目,它有两个依赖项:

在项目启动时,我收到此异常:

仅当 Eureka 和 Bus AMQP 依赖项在一起时才会发生此异常。

应用程序或引导程序 .yml/.properties 中没有设置配置。

唯一存在的 Java 类是由 Spring Boot 生成的:

完整的 POM:

全栈跟踪:

0 投票
2 回答
312 浏览

spring-cloud-stream - 在部署的流应用程序中设置 env var 值

使用以下内容:

  • Spring Cloud 数据流服务器 Cloudfoundry 1.0.0.RC1
  • Spring Cloud 配置服务器服务

我使用附加依赖项重建了 spring-cloud-dataflow-server-cloudfoundry,以按照说明提供它与 Spring Cloud Config 服务器的绑定。它似乎按预期工作,所以这很好。

现在出现了问题,当我尝试使用我开发的自定义模块定义流时,模块的环境变量(特别是 ENCRYPT_KEY)位于我的 git 存储库中的清单 YML 文件中。

清单文件的名称是customapp-dev.yml. 清单如下所示:

属性文件的名称是customapp-dev.properties. 属性文件如下所示:

该应用程序在启动 jar 中有一个名为application.properties. 它看起来像这样:

最后,当我部署流时,我在命令行中提供了一个附加属性,如下所示:

跟踪应用程序部署的日志,我可以看到正在读取配置服务器实例,并且正在正确解析应用程序名称和配置文件。配置客户端正在映射 YML 清单和我的 git 存储库中的属性文件。

但是,错误表明占位符无法解密customapp.password

如果我为已部署的(崩溃的)应用程序显式设置 ENCRYPT_KEY 环境变量,并重新存储它,它会正常启动并像魅力一样工作。

我是否有另一种方法可以在部署时为流应用程序指定环境变量?

0 投票
1 回答
926 浏览

spring - Spring Cloud DataFlow 本地服务器未导入 Tailing 文件的新自定义源

我正在尝试为“Tailing”编写自定义源代码,并使用 spring 示例中的片段来编写该代码。这是实际的代码,

属性文件是,

现在,当我使用此代码运行 junit 测试时,使用下面的 junit 测试用例它工作得很好。

运行 junit 测试时,我确实在控制台中看到了默认文件内容。

现在,当我尝试将其捆绑在一个 jar 中并将其部署到具有版本的本地 spring 云数据流服务器时,我面临两个问题:

  • spring-cloud-dataflow-server-local-1.0.1.BUILD-SNAPSHOT.jar
  • spring-cloud-dataflow-server-local-1.0.0.RELEASE.jar

我使用的 shell jar 版本是,

  • spring-cloud-dataflow-shell-1.0.1.BUILD-SNAPSHOT.jar

我面临的问题是:

  1. 源类型已成功部署并显示在应用列表中,但当我运行应用信息 source:tail时,应用属性信息未显示,请查看下面的屏幕截图。

外壳截图

jar 结构与 File 源引导 jar 完全相同,是使用 Spring 的 Maven 包装器构建的。带有元数据的 json 属性文件也是根据预期生成的,并且存在于捆绑的 spring 源 jar 中的 META_INF 中。

  1. 源本身不起作用。当我尝试将这个新的尾源与日志接收器一起使用时,它永远不会起作用。

最后,我确实知道它可能无法在云服务器上运行,但计划是在本地服务器-本地数据流服务器上运行它。我也知道我可以尝试使用 spring 集成框架本身,但它是通过 spring cloud Dataflow 完成此任务的外部请求。

非常感谢任何帮助,我的请求发给Artem ( https://stackoverflow.com/users/2756547/artem-bilan)、Gary(https://stackoverflow.com/users/1240763/gary-russell )和来自所有社区的其他人。提前感谢您的评论和反馈!

0 投票
2 回答
1827 浏览

spring-cloud - 更新到 camden 发布问题

我尝试从 Brixton.SR5 更新到 Camden.M1。

我有使用 consul 和 spring cloud stream 运行的软件。我假设需要一个额外的初始化步骤。

这是pom的一部分

这是启动时的异常跟踪。

0 投票
0 回答
133 浏览

spring-cloud - Spring Cloud Stream 中的 HTTP 智能代理

有什么方法可以在 Spring Cloud Streams 下实现智能代理模式?有一个 HTTP 源可以获取连接到其他微服务(或处理器)的请求,并最终通过请求中建立的相同连接返回响应?

使用 Spring Cloud Data Flow 可能会很困难,但使用 Spring Cloud Stream 应该是可能的,不是吗?

谢谢。