1140. Stream GlobalKTable Join - dkkahm/study-kafka-with-spring GitHub Wiki

주의

  • 원천 topic에 filter 를 적용해야 한다면 중간 topic을 경유해야 한다.
  • Filter를 적용하면 globalKTable은 원천 topic과 다른 update 상태를 가지게 되므로 주의해서 사용해야 한다.
    builder.stream("원천 topic")
        .filter()
        .to("중간 topic");

     var globalKTable = builder.globalKTable("중간 topic");
  • KeySelector를 사용해서 topic의 Key뿐 아니라 value에서 추출된 값도 Join Key로 사용할 수 있다.
    var offserStream = purchaseStream.join(userTable, (key, value) -> value.getUsername(), this::jointer, Joined.with