Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡夫卡事务制作人&x2014;read_committed显示中止后的记录_Java_Apache Kafka_Kafka Producer Api - Fatal编程技术网

Java 卡夫卡事务制作人&x2014;read_committed显示中止后的记录

Java 卡夫卡事务制作人&x2014;read_committed显示中止后的记录,java,apache-kafka,kafka-producer-api,Java,Apache Kafka,Kafka Producer Api,我编写了这个简单的程序来测试卡夫卡的新事务制作人: package test; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.producer.ProducerRecord; import java.util.Properties; class k

我编写了这个简单的程序来测试卡夫卡的新事务制作人:

package test;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;

import java.util.Properties;


class kafkatest {

    public static void main(String[] args) {

        Properties props = new Properties();
        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
        props.put(ProducerConfig.CLIENT_ID_CONFIG, "hello-world-producer");
        props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, true);
        props.put(ProducerConfig.TRANSACTIONAL_ID_CONFIG, "test");
        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");

        KafkaProducer producer = new KafkaProducer(props);

        producer.initTransactions();
        producer.beginTransaction();

        producer.send(new ProducerRecord<>("topic", "hello", "world"));  
        producer.flush();

        producer.abortTransaction();

        producer.close();
    }
}

我缺少什么?

要对控制台使用者使用
read\u committed
,您需要指定
--隔离级别
选项:

kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic topic --from-beginning --isolation-level=read_committed

否则,此选项默认为
read_uncommitted
,并覆盖通过
--消费者属性传递的值

要对控制台使用者使用
read\u committed
,需要指定
--隔离级别
选项:

kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic topic --from-beginning --isolation-level=read_committed

否则,此选项默认为
read_uncommitted
,并覆盖通过
--消费者属性传递的值

我生命中损失的2小时我生命中损失的2小时