tech.mhuang.pacebox.kafka.admin.external.IKafkaProducer Maven / Gradle / Ivy
package tech.mhuang.pacebox.kafka.admin.external;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import tech.mhuang.pacebox.core.observer.BaseObServer;
import java.util.Map;
import java.util.concurrent.Future;
/**
* 接口层--对外公布
*
* @param kafka调用的key
* @param kafka调用的value
* @param kafka传递的数据对象
* @author mhuang
* @since 1.0.0
*/
public interface IKafkaProducer extends BaseObServer {
/**
* 发送
*
* @param topic 主题
* @param key 键
* @param value 值
* @return get同步等待获取进行下一步。也可忽略。
*/
Future send(String topic, K key, V value);
/**
* 发送
*
* @param topic 主题
* @param key 键
* @param value 值
* @param callBack 不同步的时候回调
* @return 可get同步等待获取进行下一步。也可忽略。
*/
Future send(String topic, K key, V value, Callback callBack);
/**
* 发送
*
* @param record 发送的数据
* @return 可get同步等待获取进行下一步。也可忽略。
*/
Future send(ProducerRecord record);
/**
* 发送
*
* @param record 发送的数据
* @param callBack 回调
* @return 可get同步等待获取进行下一步。也可忽略。
*/
Future send(ProducerRecord record, Callback callBack);
/**
* add or update setter config
*
* @param key 传入的key
* @param value 设置的值
*/
void setProperty(String key, Object value);
/**
* add or update setter config
*
* @param map 设置的map集合
*/
void setProperty(Map map);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy