我相信你的担心
IssuanceTransformer
没有一个愿望
AwsHeaders.STREAM
标题。开发自定义转换器时,需要确保将所有头从请求消息传输到回复消息:与许多其他组件不同,Transformer不会修改来自POJO的回复消息。
为此,您可以使用如下内容:
MessageBuilder.withPayload(myPayload).copyHeadersIfAbsent(requestMessage.getHeaders()).build();
注意:您可以使用
AwsHeaders.RECEIVED_STREAM
因为这个是从
KinesisMessageDrivenChannelAdapter
:
private void performSend(AbstractIntegrationMessageBuilder<?> messageBuilder, Object rawRecord) {
messageBuilder.setHeader(AwsHeaders.RECEIVED_STREAM, this.shardOffset.getStream())
.setHeader(AwsHeaders.SHARD, this.shardOffset.getShard());
if (CheckpointMode.manual.equals(KinesisMessageDrivenChannelAdapter.this.checkpointMode)) {
messageBuilder.setHeader(AwsHeaders.CHECKPOINTER, this.checkpointer);
}