springboot整合kafka:
导入依赖:
org.apache.kafka
kafka-clients
2.1.0
org.springframework.kafka
spring-kafka
2.4.1.RELEASE
注意导入的版本,如果导入版本不合适可能会引起冲突,导致项目无法启动;
接收数据导入kafka:
1.根据自己的情况对接收数据进行序列化,kafka有自己的序列化可供适使用,由于通常使用实体类接收数据,此处以实体类简介:
编写一个序列化工具类,进行实体类的序列化:
public class SerializerUtils implements Serializer {
@Override
public void configure(Map<String, ?> map, boolean b) {
}
@Override
public byte[] serialize(String s, T t) {
return JSON.toJSONBytes(t);
}
@Override
public void close() {
}
}
重写serialize方法;
对需要存储的实体类数据使用上面的工具类转化位byte数组;
新建ProducerRecord
ProducerRecord<Integer, byte[]> producerRecord = new ProducerRecord<>(topic, 1, bytes);