Предыдущее примечание: я новичок в Kafka.
Я пытаюсь получить все схемы из реестра схем, но не могу сделать это только с помощью клиента реестра схем. Это работает, только если до этого я создаю экземпляр KafkaConsumer.
Не понимаю почему. Вот код (с потребителем на месте).
ConsumerConfig - это просто класс со всеми необходимыми конфигурациями. Включая URL-адрес реестра схемы.
Consumer<String, String> consumer = new KafkaConsumer<String, String>(ConsumerConfig.get());
CachedSchemaRegistryClient client = new CachedSchemaRegistryClient(ConsumerConfig.getSchemaRegistryURL(), 30);
Collection<String> listOfSubjects = client.getAllSubjects();
consumer.close();
Без потребителя я получаю:
io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: нет содержимого для сопоставления из-за конца ввода
С потребителем все нормально работает. Я хотел бы, чтобы кто-то мог пролить свет на то, почему это происходит, если я не вижу причин, по которым мне нужно подключаться к фактическому кластеру Kafka через потребителя, чтобы получить доступ к реестру схемы, который находится на другой конечной точке.
curl http://localhost:8081/subjects
? - person belo   schedule 04.01.2019