articleList

12-producer生产者发送指定分区实战

2025/03/13 posted in  Kafka
Tags: 

创建topic,配置5个分区,1个副本
发送消息到指定分区

     * 发送消息携带回调函数,指定某个分区
     * <p>
     * 实现顺序消息
     */
    @Test
    public void testSendWithCallbackAndPartition() {
        
        Properties properties = getProperties();

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

        for (int i = 0; i < 10; i++) {
            producer.send(new ProducerRecord<>("xdclass-v1-sp-topic-test", 4, "xdclass-key" + i, "xdclass-value" + i), new Callback() {
                @Override
                public void onCompletion(RecordMetadata metadata, Exception exception) {
                    if (exception == null) {
                        System.err.println("发送状态:" + metadata.toString());
                    } else {
                        exception.printStackTrace();
                    }
                }
            });
        }
        producer.close();
    }