Hi, all: Recently I have read kafka streams join document(https://docs.confluent.io/current/streams/developer-guide.html#kafka-streams-dsl <https://docs.confluent.io/current/streams/developer-guide.html#kafka-streams-dsl>). The sample code is pasted below:
import java.util.concurrent.TimeUnit; KStream<String, Long> left = ...; KStream<String, Double> right = ...; // Java 7 example KStream<String, String> joined = left.join(right, new ValueJoiner<Long, Double, String>() { @Override public String apply(Long leftValue, Double rightValue) { return "left=" + leftValue + ", right=" + rightValue; } }, JoinWindows.of(TimeUnit.MINUTES.toMillis(5)), Serdes.String(), /* key */ Serdes.Long(), /* left value */ Serdes.Double() /* right value */ ); so the question is : 1) which parameter is used for setting result value(returned by ValueJoiner) Serdes class ? the sample code only set key , left value and right value Serdes class. 2) if ValueJoiner return customer value type, how to set the result value Serdes class ?