【问题标题】:Change content type for RabbitMQ Spring Cloud Stream Starter App更改 RabbitMQ Spring Cloud Stream Starter App 的内容类型
【发布时间】:2017-12-16 23:27:26
【问题描述】:

RabbitMQ Source 应用程序的Spring Cloud Stream Starter Apps 文档列出了几种可能的内容类型,每种类型的输出负载都有不同的结果类型。但是,它没有说明如何选择您要使用的那个。我正在部署一个 Spring Cloud Data Flow,将 Rabbit 源连接到 Log sink,我得到的只是字节数组。即使我在 Rabbit 消息的标头中将内容类型明确设置为“text/plain”,它也会在日志接收器中显示为带有标头的字节数组有效负载:“contentType=application/octet-stream, originalContentType=text/plain” .

我有一个模糊的想法,答案是将 spring.cloud.stream.bindings.output.content-type 设置为我希望 Rabbit 源输出的内容类型,但我不知道该放在哪里Spring Cloud Data Flow 中的此设置。我是新手,非常困惑。

【问题讨论】:

    标签: spring spring-cloud-stream spring-cloud-dataflow


    【解决方案1】:

    您可以通过部署属性在 Spring Cloud Data Flow 中传递 Spring Cloud Stream 属性。

    你可以找到更多关于这个here的信息

    【讨论】:

    • Greg,在 spring-amqp、rabbit-binder 和 spring-cloud-stream 中都对内容类型协商进行了一些更改和改进,但是您想要实现的目标肯定是可以完成的如果您能告诉我们您当前使用的是什么版本的 spring-cloud-stream,那将非常有帮助。
    • 好吧,我可以告诉你,我正在使用入门应用程序 maven://org.springframework.cloud.stream.app:http-source-rabbit:1.3.0.RELEASE。我将其注册到 spring-cloud-dataflow-server-local-1.3.0.BUILD-SNAPSHOT.jar 中。不过,我可能不得不将数据流服务器恢复到 1.2.3,除非很快发布 1.3 版本。
    • 无论如何,IG 的指针给了我足够的信息继续下去。 SPDF 控制台应用程序在部署流时提示输入部署属性,但它不接受 spring.cloud.stream.bindings.output.content-type。 IG 的链接建议该属性应以“app”和应用程序名称为前缀,因此:app.rabbit.spring.cloud.stream.bindings.output.content-type=text/plain 成功了!
    猜你喜欢
    • 2019-04-19
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    相关资源
    最近更新 更多