title: Using provided topics for changelog and repartition while aggregating in Kafka Stream Processing
body: <p>I am using Kafka stream processing for aggregating data from source object with Springboot.</p>
  <pre><code>@Bean
  public java.util.function.Consumer&lt;KStream&lt;String, SourceObject&gt;&gt; processSourceObject() {
      Serde&lt;SourceObject&gt; SourceObjectSerde = new JsonSerde&lt;&gt;(SourceObject.class);
      Serde&lt;AgrregatedObject&gt; AgrregatedObjectSerde = new JsonSerde&lt;&gt;(AgrregatedObject.class);
      return input -&gt; input.map((key, value) -&gt; new KeyValue&lt;String, SourceObject&gt;(value.uniques(), value))
              .groupByKey(Grouped.with(Serdes.String(), SourceObjectSerde))
              .aggregate(AgrregatedObject::new, (uniques, sourceObject,
                      destinationList) -&gt; new SourceObjectUpdater().apply(sourceObject, destinationList),
                      Materialized.&lt;String, AgrregatedObject&gt;as(Stores.inMemoryKeyValueStore(&quot;custome-snapshots&quot;)).withKeySerde(Serdes.String()).withValueSerde(AgrregatedObjectSerde))
              .toStream().foreach((foo, bar) -&gt; process);
  }
  </code></pre>
  <p>While running this application, along with provided topic to <em>processSourceObject</em> it is auto-creating two more topics</p>
  <blockquote>
  <ol>
  <li>processSourceObject-applicationId-data-snapshots-changelog</li>
  <li>processSourceObject-applicationId-data-snapshots-repartition</li>
  </ol>
  </blockquote>
  <p>I want to use existing topics instead of using these two topics for some reasons. Where do I make changes to provide names of predefined topics to use for <em>changelog</em> and <em>repartition</em> data by my application?</p>