Spring boot 基于 1.5.9版本
1. maven 添加依赖
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.3.9.RELEASE</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>1.9.0</version> </dependency> <dependency> <groupId>io.confluent</groupId> <artifactId>kafka-avro-serializer</artifactId> <version>5.2.1</version> </dependency>
2. maven 添加 plugin
<plugin> <groupId>org.apache.avro</groupId> <artifactId>avro-maven-plugin</artifactId> <version>1.9.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>schema</goal> </goals> <configuration> <sourceDirectory>avsc问价路径</sourceDirectory> <outputDirectory>avro代码生成路径</outputDirectory> </configuration> </execution> </executions> </plugin>
3. application.yml 添加 kafka配置
spring: kafka: bootstrap-servers: xxx producer: key-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer consumer: group-id: test key-deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer value-deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer properties: schema.registry.url: xxx security.protocol: SASL_PLAINTEXT sasl: mechanism: PLAIN jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="" password=""; template: default-topic: xxx
4. Java Producer
@Component public class Producer { @Autowired private KafkaTemplate kafkaTemplate; public void send(AvroRecord record) { if (Objects.isNull(record)) { return; } LOGGER.info(record.toString()); kafkaTemplate.sendDefault("key", record); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。