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