Spring Cloud流:Kafka Sink收到备用消息

时间:2019-09-26 06:19:40

标签: java spring-kafka spring-cloud-stream

我正在尝试使用kafka绑定构建一个简单的云流应用程序。让我描述一下设置。 1.我有一个生产者正在为主题topic_1生产。
2.有一个流绑定程序,将topic_1绑定到topic_2之后。

@StreamListener(MyBinder.INPUT)
    @SendTo(MyBinder.OUTPUT_2)
    public String handleIncomingMsgs(String s) {
        logger.info(s);  // prints all the messages
        return s;
    }
  1. 生产者生成消息时,StreamListner handleIncomingMsgs会收到所有消息。
  2. 接收后,它应该将邮件转发到其他频道。
@Service
@EnableBinding(MyBinder.class)
public class LogMsg {

    @StreamListener(MyBinder.OUTPUT_2)
    public void handle(String board) {
        logger.info("Received payload: " + board); //prints every alternate messages
    }
  1. 这是我的活页夹
public interface ViewsStreams {

    String INPUT = "input";
    String OUTPUT_1 = "output_1";
    String OP_USERS = "output_2";

    @Autowired
    @Input(INPUT)
    SubscribableChannel job_board_views();

    @Autowired
    @Output(OUTPUT_1)
    MessageChannel outboundJobBoards();

    @Autowired
    @Output(OUTPUT_2)
    MessageChannel outboundUsers();
}

我是这些技术的新手。无法找出问题所在。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您的猜测是正确的;您在OUTPUT_2通道上有两个使用者-侦听器和发送消息的绑定。

他们每个人都收到替代消息。