Nano Hash - криптовалюты, майнинг, программирование

Kafka Consumer не читает более одной записи в модульных тестах

У меня есть потребитель Kafka:

consumer.subscribe(statusTopicList);
        try {
                ConsumerRecords<String, String> consumerRecords =
                    consumer.poll(Duration.ofSeconds(60));

                System.out.println("SIZE IS: " + consumerRecords());
                for (ConsumerRecord<String, String > record : consumerRecords) {

                   System.out.println(“Record is: “ + record.value());
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            consumer.close();
        }

И в моих модульных тестах:

 ((MockConsumer<String, String>) consumer)
        .addRecord(new ConsumerRecord<>(
            topic, 1, 0, "test-application1", record1));

    ((MockConsumer<String, String >) consumer)
        .addRecord( new ConsumerRecord<>(
            topic, 1, 0, "test-application2", record2));

Размер consumerRecords по-прежнему равен 1, хотя я добавляю 2 записи. Как я могу прочитать оба сообщения в одном опросе?

Мои потребительские свойства:

  private static Consumer<String, SecondaryJoinStatus> createStatusConsumer() {

        Properties props = new Properties();

        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
                bootstrapServers);
        props.put(ConsumerConfig.GROUP_ID_CONFIG,
                groupId);
        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
                StringDeserializer.class);
        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
                StringDeserializer.class);
        props.put("schema.registry.url",
                schemaRegistryUrl);
        props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,
                “EARLIEST");
        props.put("max.partition.fetch.bytes", 5242880);

        return new KafkaConsumer<>(props);
    }


Ответы:


1

Используйте MAX_POLL_RECORDS_CONFIG config для опроса дополнительных записей здесь

 props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 5);
22.07.2019
  • Привет. Это не помогло. Я все еще вижу только одну запись 22.07.2019
  • так вы говорите, это чтение по одной записи? или всего одна запись? @ user10751899, а также можете показать код MockConsumer 23.07.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..