X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fimplementation%2Fkafka%2FKafkaServicesConfiguration.java;h=d17c79c935550fabebe944a5254de278e968bc43;hb=d66fb5500e6572c15447f5231306df102d5227bd;hp=d63111a7e04f618ef440e20f414491f22947d4db;hpb=73fe0a2d380cd9ed8b2da561ae7531d90c0ef9c5;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaServicesConfiguration.java b/src/main/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaServicesConfiguration.java index d63111a7..d17c79c9 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaServicesConfiguration.java +++ b/src/main/java/de/juplo/kafka/chat/backend/implementation/kafka/KafkaServicesConfiguration.java @@ -18,10 +18,12 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.kafka.support.serializer.JsonDeserializer; import org.springframework.kafka.support.serializer.JsonSerializer; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.time.Clock; import java.time.ZoneId; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Properties; @@ -34,7 +36,34 @@ import java.util.Properties; public class KafkaServicesConfiguration { @Bean - ChatHomeService kafkaChatHome( + KafkaServicesApplicationRunner kafkaServicesApplicationRunner( + ThreadPoolTaskExecutor taskExecutor, + ChatRoomChannel chatRoomChannel, + Consumer chatRoomChannelConsumer, + KafkaServicesApplicationRunner.WorkAssignor workAssignor) + { + return new KafkaServicesApplicationRunner( + taskExecutor, + chatRoomChannel, + chatRoomChannelConsumer, + workAssignor); + } + + @Bean + KafkaServicesApplicationRunner.WorkAssignor workAssignor( + ChatBackendProperties properties, + ChatRoomChannel chatRoomChannel) + { + return consumer -> + { + List topics = + List.of(properties.getKafka().getChatRoomChannelTopic()); + consumer.subscribe(topics, chatRoomChannel); + }; + } + + @Bean + ChatHomeService kafkaChatHome( ChatBackendProperties properties, ChatRoomChannel chatRoomChannel) {