K - the key typeV1 - this value typeV2 - other value typepublic class StreamJoined<K,V1,V2> extends Object
| Modifier and Type | Method and Description |
|---|---|
static <K,V1,V2> StreamJoined<K,V1,V2> | as(String storeName)Creates a StreamJoined instance using the provided name for the state stores and hence the changelog topics for the join stores. |
String | toString() |
static <K,V1,V2> StreamJoined<K,V1,V2> | with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V1> valueSerde, org.apache.kafka.common.serialization.Serde<V2> otherValueSerde)Creates a StreamJoined instance with the provided serdes to configure the stores for the join. |
static <K,V1,V2> StreamJoined<K,V1,V2> | with(WindowBytesStoreSupplier storeSupplier, WindowBytesStoreSupplier otherStoreSupplier)Creates a StreamJoined instance with the provided store suppliers. |
StreamJoined<K,V1,V2> | withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)Configure with the provided Serde for the key |
StreamJoined<K,V1,V2> | withLoggingDisabled()Disable change logging for both state stores. |
StreamJoined<K,V1,V2> | withLoggingEnabled(Map<String,String> config)Configures logging for both state stores. |
StreamJoined<K,V1,V2> | withName(String name)Set the name to use for the join processor and the repartition topic(s) if required. |
StreamJoined<K,V1,V2> | withOtherStoreSupplier(WindowBytesStoreSupplier otherStoreSupplier)Configure with the provided WindowBytesStoreSupplier for the other store supplier. |
StreamJoined<K,V1,V2> | withOtherValueSerde(org.apache.kafka.common.serialization.Serde<V2> otherValueSerde)Configure with the provided Serde for the other value |
StreamJoined<K,V1,V2> | withStoreName(String storeName)Sets the base store name to use for both sides of the join. |
StreamJoined<K,V1,V2> | withThisStoreSupplier(WindowBytesStoreSupplier thisStoreSupplier)Configure with the provided WindowBytesStoreSupplier for this store supplier. |
StreamJoined<K,V1,V2> | withValueSerde(org.apache.kafka.common.serialization.Serde<V1> valueSerde)Configure with the provided Serde for this value |
public static <K,V1,V2> StreamJoined<K,V1,V2> with(WindowBytesStoreSupplier storeSupplier, WindowBytesStoreSupplier otherStoreSupplier)
WindowBytesStoreSupplier interface. The store suppliers must provide unique names or a StreamsException is thrown.K - the key typeV1 - this value typeV2 - other value typestoreSupplier - this store supplierotherStoreSupplier - other store supplierStreamJoined instancepublic static <K,V1,V2> StreamJoined<K,V1,V2> as(String storeName)
StreamJoined instance using the provided name for the state stores and hence the changelog topics for the join stores. The name for the stores will be ${applicationId}-<storeName>-this-join and ${applicationId}-<storeName>-other-join or ${applicationId}-<storeName>-outer-this-join and ${applicationId}-<storeName>-outer-other-join depending if the join is an inner-join or an outer join. The changelog topics will have the -changelog suffix. The user should note that even though the join stores will have a specified name, the stores will remain unavailable for querying. Please note that if you are using StreamJoined to replace deprecated KStream.join(org.apache.kafka.streams.kstream.KStream<K, VO>, org.apache.kafka.streams.kstream.ValueJoiner<? super V, ? super VO, ? extends VR>, org.apache.kafka.streams.kstream.JoinWindows) functions with Joined parameters in order to set the name for the join processors, you would need to create the StreamJoined object first and then call withName(java.lang.String)K - The key typeV1 - This value typeV2 - Other value typestoreName - The name to use for the storeStreamJoined instancepublic static <K,V1,V2> StreamJoined<K,V1,V2> with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V1> valueSerde, org.apache.kafka.common.serialization.Serde<V2> otherValueSerde)
StreamJoined instance with the provided serdes to configure the stores for the join.K - The key typeV1 - This value typeV2 - Other value typekeySerde - The key serdevalueSerde - This value serdeotherValueSerde - Other value serdeStreamJoined instancepublic StreamJoined<K,V1,V2> withName(String name)
name - the name to useStreamJoined instancepublic StreamJoined<K,V1,V2> withStoreName(String storeName)
storeName - the storeName to useStreamJoined instancepublic StreamJoined<K,V1,V2> withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
Serde for the keykeySerde - the serde to use for the keyStreamJoined configured with the keySerdepublic StreamJoined<K,V1,V2> withValueSerde(org.apache.kafka.common.serialization.Serde<V1> valueSerde)
Serde for this valuevalueSerde - the serde to use for this value (calling or left side of the join)StreamJoined configured with the valueSerdepublic StreamJoined<K,V1,V2> withOtherValueSerde(org.apache.kafka.common.serialization.Serde<V2> otherValueSerde)
Serde for the other valueotherValueSerde - the serde to use for the other value (other or right side of the join)StreamJoined configured with the otherValueSerdepublic StreamJoined<K,V1,V2> withThisStoreSupplier(WindowBytesStoreSupplier thisStoreSupplier)
WindowBytesStoreSupplier for this store supplier. Please note this method only provides the store supplier for the left side of the join. If you wish to also provide a store supplier for the right (i.e., other) side you must use the withOtherStoreSupplier(WindowBytesStoreSupplier) methodthisStoreSupplier - the store supplier to use for this store supplier (calling or left side of the join)StreamJoined configured with thisStoreSupplierpublic StreamJoined<K,V1,V2> withOtherStoreSupplier(WindowBytesStoreSupplier otherStoreSupplier)
WindowBytesStoreSupplier for the other store supplier. Please note this method only provides the store supplier for the right side of the join. If you wish to also provide a store supplier for the left side you must use the withThisStoreSupplier(WindowBytesStoreSupplier) methodotherStoreSupplier - the store supplier to use for the other store supplier (other or right side of the join)StreamJoined configured with otherStoreSupplierpublic StreamJoined<K,V1,V2> withLoggingEnabled(Map<String,String> config)
Note: Any unrecognized configs will be ignored
config - configs applied to the changelog topicStreamJoined configured with logging enabledpublic StreamJoined<K,V1,V2> withLoggingDisabled()
StreamJoined configured with logging disabled