kafka(三)在java中应用

该博客通过Spring Boot展示了如何在Java中使用Kafka 1.0.0。首先介绍了添加依赖和创建Producer、Consumer的基本步骤,然后详细讲解了如何自定义实体类,并实现对象的序列化和反序列化,包括创建BeanUtils、序列化类和反序列化类,以及改造Producer和Consumer的代码。文章提供了相关资源链接以供深入学习。
摘要由CSDN通过智能技术生成

之前对kafka的概念和配置有了简单了解,现在就用java API做一个demo

这里使用的是spring boot集成,kafka的版本是1.0.0

  1. 首先在pom中添加依赖
<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>1.0.0</version>
</dependency>

    2.首先写一个producer类

import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;

public class MyProducer {
	
	public static void main(String[] args) {
		
		Properties props = new Properties();
		 props.put("bootstrap.servers", "192.168.1.240:9092");
		 props.put("acks", "all"); //确保生产者可靠性设置,acks=0:不等待成功返回<br>acks=1:等Leader写成功返回<br>acks=all:等Leader和所有ISR中的Follower写成功返回,all也可以用-1代替
		 props.put("retries", 0); //设置自动重试为0
		 props.put("batch.size", 16384); //每个生产都都维护了一个缓冲区,这个是指定了缓冲区的大小
		 props.put("linger.ms", 1); //消息在缓冲区保留的时间,超过设置的值就会被提交到服务端
		 props.put("buffer.memory", 33554432); //可用于缓冲的总内存量,,否则会报申请内存不足的错误
		 props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");//key和value序列化
		 props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

		 Producer<String, String> producer = new KafkaProducer<>(props);

		 //初始化事务,会在阻塞或者失败时抛出异常,每个生产者只能打开一个事务
//		 producer.initTransactions();
//		 pr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值