public class ApplicationConfiguration
{
@Bean
- public WordcountRecordHandler wordcountRecordHandler(
- PartitionStatisticsRepository repository,
- Consumer<String, String> consumer,
- ApplicationProperties properties)
+ public ApplicationRecordHandler recordHandler()
{
- return new WordcountRecordHandler(
- repository,
- properties.getTopic(),
- Clock.systemDefaultZone(),
- properties.getCommitInterval(),
- consumer);
+ return new ApplicationRecordHandler();
}
@Bean
- public WordcountRebalanceListener wordcountRebalanceListener(
- WordcountRecordHandler wordcountRecordHandler,
- PartitionStatisticsRepository repository,
+ public ApplicationRebalanceListener rebalanceListener(
+ ApplicationRecordHandler recordHandler,
+ StateRepository stateRepository,
Consumer<String, String> consumer,
ApplicationProperties properties)
{
- return new WordcountRebalanceListener(
- wordcountRecordHandler,
- repository,
+ return new ApplicationRebalanceListener(
+ recordHandler,
+ stateRepository,
properties.getClientId(),
+ properties.getTopic(),
+ Clock.systemDefaultZone(),
+ properties.getCommitInterval(),
consumer);
}
public EndlessConsumer<String, String> endlessConsumer(
KafkaConsumer<String, String> kafkaConsumer,
ExecutorService executor,
- WordcountRebalanceListener wordcountRebalanceListener,
- WordcountRecordHandler wordcountRecordHandler,
+ ApplicationRebalanceListener rebalanceListener,
+ ApplicationRecordHandler recordHandler,
ApplicationProperties properties)
{
return
properties.getClientId(),
properties.getTopic(),
kafkaConsumer,
- wordcountRebalanceListener,
- wordcountRecordHandler);
+ rebalanceListener,
+ recordHandler);
}
@Bean