public interface Suppressed<K>| Modifier and Type | Interface and Description |
|---|---|
static interface | Suppressed.BufferConfig<BC extends Suppressed.BufferConfig<BC>> |
static interface | Suppressed.EagerBufferConfigMarker interface for a buffer configuration that will strictly enforce size constraints (bytes and/or number of records) on the buffer, so it is suitable for reducing duplicate results downstream, but does not promise to eliminate them entirely. |
static interface | Suppressed.StrictBufferConfigMarker interface for a buffer configuration that is "strict" in the sense that it will strictly enforce the time bound and never emit early. |
| Modifier and Type | Method and Description |
|---|---|
static <K> Suppressed<K> | untilTimeLimit(Duration timeToWaitForMoreEvents, Suppressed.BufferConfig bufferConfig)Configure the suppression to wait timeToWaitForMoreEvents amount of time after receiving a record before emitting it further downstream. |
static Suppressed<Windowed> | untilWindowCloses(Suppressed.StrictBufferConfig bufferConfig)Configure the suppression to emit only the "final results" from the window. |
Suppressed<K> | withName(String name)Use the specified name for the suppression node in the topology. |
static Suppressed<Windowed> untilWindowCloses(Suppressed.StrictBufferConfig bufferConfig)
bufferConfig - A configuration specifying how much space to use for buffering intermediate results. This is required to be a "strict" config, since it would violate the "final results" property to emit early and then issue an update later.static <K> Suppressed<K> untilTimeLimit(Duration timeToWaitForMoreEvents, Suppressed.BufferConfig bufferConfig)
timeToWaitForMoreEvents amount of time after receiving a record before emitting it further downstream. If another record for the same key arrives in the mean time, it replaces the first record in the buffer but does not re-start the timer.K - The key type for the KTable to apply this suppression to.timeToWaitForMoreEvents - The amount of time to wait, per record, for new events.bufferConfig - A configuration specifying how much space to use for buffering intermediate results.Suppressed<K> withName(String name)
This can be used to insert a suppression without changing the rest of the topology names (and therefore not requiring an application reset).
Note however, that once a suppression has buffered some records, removing it from the topology would cause the loss of those records.
A suppression can be "disabled" with the configuration untilTimeLimit(Duration.ZERO, ....
name - The name to be used for the suppression node and changelog topicname.