@Override public TimestampExtractor create(final int columnIndex) { return new FailOnInvalidTimestamp(); }
@Override public KStream<K, V> through(final String topic, final Produced<K, V> produced) { final ProducedInternal<K, V> producedInternal = new ProducedInternal<>(produced); to(topic, producedInternal); return builder.stream( Collections.singleton(topic), new ConsumedInternal<>( producedInternal.keySerde() != null ? producedInternal.keySerde() : keySerde, producedInternal.valueSerde() != null ? producedInternal.valueSerde() : valSerde, new FailOnInvalidTimestamp(), null ) ); }
@Override public void writeToTopology(final InternalTopologyBuilder topologyBuilder) { final Serializer<K> keySerializer = keySerde != null ? keySerde.serializer() : null; final Deserializer<K> keyDeserializer = keySerde != null ? keySerde.deserializer() : null; topologyBuilder.addInternalTopic(repartitionTopic); topologyBuilder.addSink( sinkName, repartitionTopic, keySerializer, getValueSerializer(), null, parentNodeNames() ); topologyBuilder.addSource( null, sourceName, new FailOnInvalidTimestamp(), keyDeserializer, getValueDeserializer(), repartitionTopic ); }
@Override public void writeToTopology(final InternalTopologyBuilder topologyBuilder) { final Serializer<K> keySerializer = keySerde != null ? keySerde.serializer() : null; final Deserializer<K> keyDeserializer = keySerde != null ? keySerde.deserializer() : null; topologyBuilder.addInternalTopic(repartitionTopic); topologyBuilder.addProcessor( processorParameters.processorName(), processorParameters.processorSupplier(), parentNodeNames() ); topologyBuilder.addSink( sinkName, repartitionTopic, keySerializer, getValueSerializer(), null, processorParameters.processorName() ); topologyBuilder.addSource( null, sourceName, new FailOnInvalidTimestamp(), keyDeserializer, getValueDeserializer(), repartitionTopic ); }