|
该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 spring-cloud-stream 5.0.0! |
发送者结果通道
从4.0.3版本开始,你可以配置结果元数据通道接收SenderResult<?>s 用于判定发送的成功/失败。
这发送结果包含相关元数据以便你将结果与发送数据关联;它还包含记录元数据,表示主题分区以及发送记录的偏移。
这结果元数据通道 必须是流信息频道实例。
这里是一个如何使用该功能的示例,关联元数据类型为整数:
@Bean
FluxMessageChannel sendResults() {
return new FluxMessageChannel();
}
@ServiceActivator(inputChannel = "sendResults")
void handleResults(SenderResult<Integer> result) {
if (result.exception() != null) {
failureFor(result);
}
else {
successFor(result);
}
}
要在输出记录上设置相关元数据,请设置CORRELATION_ID页眉:
streamBridge.send("words1", MessageBuilder.withPayload("foobar")
.setCorrelationId(42)
.build());
当使用带有功能,函数输出类型必须是留言<?>并将关联ID头设置为所需的值。
元数据至少在发送期间应保持唯一。