【发布时间】:2019-04-10 12:31:48
【问题描述】:
我有一个简单的 RabbitMQ 源和接收器。我正在向具有以下属性的源队列发布消息:
content_type -> application/json
和一个 JSON 负载:
{
"userId": 2,
"customerId": 1,
}
RabbitMQ 接收器使用 application/octet-stream 而不是 JSON 获取消息。
我尝试使用以下属性启动应用程序:
spring.cloud.stream.default.contentType=application/json
但它没有帮助。
流定义:
stream_1=rabbitSource: rabbit --queues=queue1 --password=p --host=h --username=u | sink: rabbit --exchange=ex --routing-key=rk --converter-bean-name=jsonConverter --password=p --host=h --username=u
如何将内容类型设置为application/json? reference guide 似乎没有答案。
发布版本:
- spring-cloud-dataflow-server:2.0.1.RELEASE
- spring-cloud-skipper-server:2.0.0.RELEASE
更新:
正如@SabbyAnandan 的回答中所建议的,我现在正在跑步:
dataflow:>stream create --name test123 --definition "rabbitSource: rabbit --queues=queue --password=p --host=rmq --username=u --spring.cloud.stream.bindings.output.contentType='application/json' | sink: rabbit --exchange=ex --routing-key=rk --converter-bean-name=jsonConverter --password=p --host=rmq --username=p"
Created new stream 'test123123'
dataflow:>stream deploy --name test123 --properties "app.rabbit.spring.cloud.stream.bindings.output.contentType='application/json'"
Deployment request has been sent for stream 'test123'
但content_type 还是一样的。
【问题讨论】:
标签: java rabbitmq spring-cloud-stream spring-cloud-dataflow