spring xd 以 rabbit errorQueue 作为 errorChannel
spring xd with rabbit errorQueue as errorChannel
我在我的 spring 中定义了流 xd 我的流看起来像这样并且传输是 rabbit mq
stream source|transformer1|transformer2|transformer3|sink
我有自定义转换器 deployed.I 想将我的 transformers/custom 模块中发生的所有 exception/error 写入错误队列
然后我想将 errorQueue 中的消息拉到 mongoSink
我可以通过创建从 rabbiterror 队列到 mongo
的 tap 来实现
`tap -->rabbit_ERROR_QUEUE-->mongoSink`
有什么方法可以配置我的 spring xd 自定义模块 xml 以默认将所有异常和错误写入错误队列?
如果您将 autoBindDLQ
设置为 true(在所有流的 servers.yml
中,或在流级别的部署属性中),XD 将为您创建死信 queue .
您还需要配置重试。
默认情况下,总线将尝试传递消息 3 次然后拒绝它,代理会将其转发到死信 queue。
另一个bus/deployment属性republishToDLQ
提供了一种机制让总线重新发布消息到DLQ(而不是拒绝它)。这将在错误消息(异常异常等)中包含其他信息,如 headers.
有关这些属性的完整信息,请参阅参考手册的 the application configuration section the deployment section。
但是,您不会使用水龙头消费 DLQ,但是....
stream create errorStream --definition "rabbit ..."
即使用 rabbit
源从 DLQ 中提取。
我在我的 spring 中定义了流 xd 我的流看起来像这样并且传输是 rabbit mq
stream source|transformer1|transformer2|transformer3|sink
我有自定义转换器 deployed.I 想将我的 transformers/custom 模块中发生的所有 exception/error 写入错误队列 然后我想将 errorQueue 中的消息拉到 mongoSink
我可以通过创建从 rabbiterror 队列到 mongo
的 tap 来实现`tap -->rabbit_ERROR_QUEUE-->mongoSink`
有什么方法可以配置我的 spring xd 自定义模块 xml 以默认将所有异常和错误写入错误队列?
如果您将 autoBindDLQ
设置为 true(在所有流的 servers.yml
中,或在流级别的部署属性中),XD 将为您创建死信 queue .
您还需要配置重试。
默认情况下,总线将尝试传递消息 3 次然后拒绝它,代理会将其转发到死信 queue。
另一个bus/deployment属性republishToDLQ
提供了一种机制让总线重新发布消息到DLQ(而不是拒绝它)。这将在错误消息(异常异常等)中包含其他信息,如 headers.
有关这些属性的完整信息,请参阅参考手册的 the application configuration section the deployment section。
但是,您不会使用水龙头消费 DLQ,但是....
stream create errorStream --definition "rabbit ..."
即使用 rabbit
源从 DLQ 中提取。