All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.vality.testcontainers.annotations.kafka.config.KafkaProducer Maven / Gradle / Ivy

package dev.vality.testcontainers.annotations.kafka.config;

import dev.vality.testcontainers.annotations.kafka.KafkaTestcontainer;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.core.KafkaTemplate;

/**
 * Обертка над {@link KafkaTemplate}, используется для отправки сообщений в тестовый топик
 * 

Пример использования {@link KafkaTestcontainer} с {@link KafkaProducer} — в * magista *

Пример

*
 {@code
 *     @Autowired
 *     private KafkaProducer> testThriftKafkaProducer;
 *
 *     ...
 *
 *     testThriftKafkaProducer.send(invoicingTopicName, sinkEvent);
 *
 *     ...
 * }
* * @see KafkaProducerConfig KafkaProducerConfig */ @RequiredArgsConstructor @Slf4j public class KafkaProducer { private final KafkaTemplate kafkaTemplate; public void send(String topic, T payload) { log.info("Sending payload='{}' to topic='{}'", payload, topic); kafkaTemplate.send(topic, payload) .join(); kafkaTemplate.getProducerFactory().reset(); } public void send(String topic, String key, T payload) { log.info("Sending key='{}' payload='{}' to topic='{}'", key, payload, topic); kafkaTemplate.send(topic, key, payload) .join(); kafkaTemplate.getProducerFactory().reset(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy