Spring Cloud Stream提供对流的监听来自动处理消息(如来自kafka)。一般出来程序只关注消息的内容(payload)是什么,而少有对消息报头(headers)的处理,而有时报头里信息如:消息偏移量(kafka_offset)、消息创建时间、消费者对象等对于具体业务是很重要的,这时就需要在接收消息的方法中使用@Header注解。
@StreamListener(DataStreams.Input)
public void dealWithMessage(@Header("kafka_offset") String value){
System.out.println(value);
}
了解更多内容可参考如下链接:Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑