StreamListener是否在内部调用MessageChannel.send(Message>消息)

问题描述 投票:0回答:1

在我们的应用程序中,我们使用kafka并具有像这样的spring cloud输入流

@Component
public interface SomeChannel {
    @Input(ChannelNames.SOME_INPUT)
    MessageChannel someInput();
}

现在,同事建议添加一个实现preSend方法的ChannelInterceptor实现。但是,在我们的代码库中,似乎没有人在此输入通道上调用MessageChannel.send(Message<?> message),但是我们确实有一个StreamListener,如下所示]

    @StreamListener(ChannelNames.SOME_INPUT)
    public void process(final String strMessage) throws Exception {

我的问题我认为preSend将永远不会被调用。我是否在这里丢失了某些内容,并且它仍可能会被调用(也许通过内部或以其他方式通过MessageChannel.send(Message<?> message)调用的StreamListener代码)?

java spring spring-kafka spring-cloud-stream
1个回答
0
投票

是;活页夹将传入的消息发送到该通道。

© www.soinside.com 2019 - 2024. All rights reserved.