【问题标题】:Spring Cloud Dataflow local deployer propertiesSpring Cloud Dataflow 本地部署程序属性
【发布时间】:2017-10-27 22:14:36
【问题描述】:

我正在使用 Spring Cloud Dataflow 本地服务器/部署程序并从 1.1.4 升级到 1.2.3。我发现我的流配置(例如 value.deserializer)没有正确传递到接收器进程中。我都试过了:

spring.cloud.stream.kafka.bindings.input.consumer.configuration.value.deserializer

spring.cloud.stream.kafka.binder.configuration.value.deserializer

两者都不起作用。本地部署程序似乎发生了一些重大变化。现在从进程级别可以看到来自公共配置和流配置的整个参数列表(例如,使用 ps)。但是流配置实际上不起作用。在本地运行 Spring Cloud 流应用时,配置工作正常。

知道发生了什么或如何解决此问题?由于 Dataflow 服务器正在部署应用程序,因此很难调试。

【问题讨论】:

    标签: spring-cloud-dataflow


    【解决方案1】:

    您上面列出的不是 SCDF 或 Deployer 特定的覆盖。它们是 Spring Cloud Stream 属性,根据您的描述,尚不清楚您如何将其从 SCDF 传递给应用程序。

    部署应用程序后(通过 SCDF),您可以访问 /env/configprops 端点以验证是否应用了这些覆盖。如果未应用它们,您可以从应用程序及其依赖项开始 - 将其与旧堆栈进行比较。希望这将提供一些见解。

    如果仍然不清楚,您可以分享一个重现问题的示例。

    【讨论】:

    • 我将参数作为 SCDF 流定义的一部分传递。这就是最终的工作。注意我正在使用多个 Kafka 活页夹。 --spring.cloud.stream.binders.kafka-qa1.environment.spring.cloud.stream.kafka.binder.configuration.value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer 下一个问题,对于一个流,我需要将 contentType 指定为 Java 地图类。 UI 将不再让我输入 / 字符。有解决方法吗? app.MyApp.spring.cloud.stream.bindings.input.contentType=application/x-java-object;type=java.util.Map
    • 实际上我可以在没有应用程序/组件的情况下使用 java.util.Map。
    • 嗨,@KevinNiemann。我很高兴您能够使用 java.util.Map 使其工作。它在 UI 中的哪个位置不接受?那是在流部署时作为部署属性吗?如果您可以分享更多细节和/或屏幕截图,我们很乐意修复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2022-01-13
    • 2020-10-22
    • 2021-04-06
    相关资源
    最近更新 更多