Make kafkaTemplate protected in KafkaItemWriter

Issue #3802
This commit is contained in:
Aditya Sathe
2020-11-21 19:55:31 +05:30
committed by Mahmoud Ben Hassine
parent 62ce169f37
commit feb46fd3f7
2 changed files with 14 additions and 1 deletions

View File

@@ -33,7 +33,7 @@ import org.springframework.util.Assert;
*/
public class KafkaItemWriter<K, T> extends KeyValueItemWriter<K, T> {
private KafkaTemplate<K, T> kafkaTemplate;
protected KafkaTemplate<K, T> kafkaTemplate;
@Override
protected void writeKeyValue(K key, T value) {

View File

@@ -103,6 +103,19 @@ public class KafkaItemWriterTests {
verify(this.kafkaTemplate).sendDefault(items.get(1), null);
}
@Test
public void testKafkaTemplateCanBeReferencedFromSubclass() {
KafkaItemWriter<String, String> kafkaItemWriter = new KafkaItemWriter<String, String>() {
@Override
protected void writeKeyValue(String key, String value) {
this.kafkaTemplate.sendDefault(key, value);
}
};
kafkaItemWriter.setKafkaTemplate(kafkaTemplate);
kafkaItemWriter.writeKeyValue("k", "v");
verify(kafkaTemplate).sendDefault("k", "v");
}
static class KafkaItemKeyMapper implements Converter<String, String> {
@Override