spring整合kafka

97 阅读1分钟

1.application

#kafka
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=community-consumer-group
spring.kafka.consumer.enable-auto-commit=true
spring.kafka.consumer.auto-commit-interval=3000

2.consumer.properties

group.id=community-consumer-group

spring.kafka.consumer.group-id=community-consumer-group

3.cmd重启kafka

1)重启zookeeper

f:

cd f:\kafkadata\kafka_2.12-2.3.0

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

2)重启kafka(重新打开一个cmd)

f:

cd f:\kafkadata\kafka_2.12-2.3.0

bin\windows\kafka-server-start.bat config\server.properties

4.编写kafkatests

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class KafkaTests {

    @Autowired
    private KafkaProducer kafkaProducer;

    @Test
    public void testKafka() {

        kafkaProducer.sendMessage("test", "你好");
        kafkaProducer.sendMessage("test", "在吗?");

        try {
            Thread.sleep(1000 * 10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}


@Component
class KafkaProducer {
    @Autowired
    private KafkaTemplate kafkaTemplate;

    public void sendMessage(String topic, String content) {

        kafkaTemplate.send(topic, content);
    }

}

@Component
class KafkaConsumer {
    @KafkaListener(topics={"test"})
    public void handleMessage(ConsumerRecord record){

        System.out.println(record.value());
    }
}  

5.测试

1)重新打开一个cmd

# 创建主题

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

# 查看当前服务器的主题

kafka-topics.bat --list --bootstrap-server localhost:9092

2)运行****testKafka

3)运行结果

你好 

在吗?

kafka命令

1

E:\javaweb\work\kafka_2.12-2.8.0

# windows运行路径(看自己的情况)

1

E:\javaweb\work\kafka_2.12-2.8.0\bin\windows

# 启动服务器 (先启动zookeeper服务器,再启动kafka) !!!千万不要手动暴力关闭,用下面的命令关闭

1

2

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

bin\windows\kafka-server-start.bat config\server.properties

# 创建主题

1

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

# 查看当前服务器的主题

1

kafka-topics.bat --list --bootstrap-server localhost:9092

# 创建生产者,往指定主题上发消息

1

kafka-console-producer.bat --broker-list localhost:9092 --topic test

# 消费者

1

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

# 关闭zookeeper服务器

1

zookeeper-server-stop.bat

# 关闭kafka服务器

1

kafka-server-stop.bat