SpringCloud 使用@StreamListener注释
2023-11-25 09:15 更新
作为对Spring Integration支持的补充,Spring Cloud Stream提供了自己的@StreamListener
注释,其模仿其他Spring消息注释(@MessageMapping
,@JmsListener
,@RabbitListener
等)并提供便利,例如基于内容的路由等。
@EnableBinding(Sink.class) public class VoteHandler { @Autowired VotingService votingService; @StreamListener(Sink.INPUT) public void handle(Vote vote) { votingService.record(vote); } }
与其他Spring消息传递方法一样,方法参数可以用@Payload
,@Headers
和@Header
进行注释。
对于返回数据的方法,必须使用@SendTo
批注为该方法返回的数据指定输出绑定目标,如以下示例所示:
@EnableBinding(Processor.class) public class TransformProcessor { @Autowired VotingService votingService; @StreamListener(Processor.INPUT) @SendTo(Processor.OUTPUT) public VoteResult handle(Vote vote) { return votingService.record(vote); } }
以上内容是否对您有帮助:
更多建议: