@Autowired KafkaTemplate<String, String> messageTemplate,
@Autowired ConsumerTaskRunner consumerTaskRunner)
{
- send(messageTemplate, INFO_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\": \"5c73531c-6fc4-426c-adcb-afc5c140a0f7\", \"shard\": 2, \"name\": \"FOO\" }", "event_chatroom_created");
- send(messageTemplate, DATA_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\" : 1, \"user\" : \"peter\", \"text\" : \"Hallo, ich heiße Peter!\" }", "event_chatmessage_received");
- send(messageTemplate, DATA_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\" : 1, \"user\" : \"ute\", \"text\" : \"Ich bin Ute...\" }", "event_chatmessage_received");
- send(messageTemplate, DATA_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\" : 2, \"user\" : \"peter\", \"text\" : \"Willst du mit mir gehen?\" }", "event_chatmessage_received");
- send(messageTemplate, DATA_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\" : 1, \"user\" : \"klaus\", \"text\" : \"Ja? Nein? Vielleicht??\" }", "event_chatmessage_received");
-
- consumerTaskRunner.run();
+ KafkaTestUtils.sendAndLoadStoredData(
+ messageTemplate,
+ consumerTaskRunner);
}
- static void send(
- KafkaTemplate<String, String> kafkaTemplate,
- String topic,
- String key,
- String value,
- String typeId)
- {
- ProducerRecord<String, String> record = new ProducerRecord<>(topic, key, value);
- record.headers().add("__TypeId__", typeId.getBytes());
- SendResult<String, String> result = kafkaTemplate.send(record).join();
- log.info(
- "Sent {}={} to {}",
- key,
- value,
- new TopicPartition(result.getRecordMetadata().topic(), result.getRecordMetadata().partition()));
- }
@AfterAll
static void joinConsumerTasks(@Autowired ConsumerTaskRunner consumerTaskRunner)
{
- consumerTaskRunner.joinConsumerTasks();
- }
-
-
- @TestConfiguration
- @EnableConfigurationProperties(ChatBackendProperties.class)
- @Import(KafkaServicesConfiguration.class)
- static class KafkaConfigurationITConfiguration
- {
- @Bean
- WorkAssignor dataChannelWorkAssignor(
- DataChannel dataChannel)
- {
- return consumer ->
- {
- List<TopicPartition> assignedPartitions =
- List.of(new TopicPartition(DATA_TOPIC, 2));
- consumer.assign(assignedPartitions);
- dataChannel.onPartitionsAssigned(assignedPartitions);
- };
- }
+ KafkaTestUtils.joinConsumerTasks(consumerTaskRunner);
}
}
@TestConfiguration
@EnableConfigurationProperties(ChatBackendProperties.class)
@Import(KafkaServicesConfiguration.class)
- static class KafkaTestConfiguration
+ public static class KafkaTestConfiguration
{
@Bean
WorkAssignor dataChannelWorkAssignor(DataChannel dataChannel)
}
- static void sendAndLoadStoredData(
- ConsumerTaskRunner consumerTaskRunner,
- KafkaTemplate<String, String> messageTemplate)
+ public static void sendAndLoadStoredData(
+ KafkaTemplate<String, String> messageTemplate,
+ ConsumerTaskRunner consumerTaskRunner)
{
send(messageTemplate, INFO_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\": \"5c73531c-6fc4-426c-adcb-afc5c140a0f7\", \"shard\": 2, \"name\": \"FOO\" }", "event_chatroom_created");
send(messageTemplate, DATA_TOPIC, "5c73531c-6fc4-426c-adcb-afc5c140a0f7","{ \"id\" : 1, \"user\" : \"peter\", \"text\" : \"Hallo, ich heiße Peter!\" }", "event_chatmessage_received");
new TopicPartition(result.getRecordMetadata().topic(), result.getRecordMetadata().partition()));
}
- static void joinConsumerTasks(ConsumerTaskRunner consumerTaskRunner)
+ public static void joinConsumerTasks(ConsumerTaskRunner consumerTaskRunner)
{
consumerTaskRunner.joinConsumerTasks();
}