Тайм-аут подключения к концентратору сообщений в Bluemix

Я пытаюсь подключиться к службе Message Hub. Я могу подключиться, если я использую REST API, но когда я пытаюсь подключиться из моей Java-программы, всегда есть тайм-аут

Я использую следующую конфигурацию:

Properties producerProps = new Properties();
producerProps.put(SslConfigs.SSL_PROTOCOL_CONFIG, "TLSv1.2");
producerProps.put(SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, "TLSv1.2");
producerProps.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, "/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/jre/lib/security/cacerts");
producerProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, "changeit");
producerProps.put(SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, "JKS");
producerProps.put(SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, "HTTPS");
producerProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SSL");

producerProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.ByteArraySerializer.class);
producerProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.ByteArraySerializer.class);
producerProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka01-prod01.messagehub.services.us-south.bluemix.net:9093,kafka02-prod01.messagehub.services.us-south.bluemix.net:9093,kafka03-prod01.messagehub.services.us-south.bluemix.net:9093,kafka04-prod01.messagehub.services.us-south.bluemix.net:9093,kafka05-prod01.messagehub.services.us-south.bluemix.net:9093");
producerProps.put(ProducerConfig.CLIENT_ID_CONFIG, "myApiKey");

KafkaProducer<byte[], byte[]> kafkaProducer = new KafkaProducer<>(producerProps);
ProducerRecord<byte[], byte[]> producerRecord = new ProducerRecord<>("myTopic", "records".getBytes(), "[{ \"value\" : \"test\" }]".getBytes());

RecordMetadata metadata = kafkaProducer.send(producerRecord).get();
System.out.println("Offset: " + metadata.offset());
kafkaProducer.close();

Через некоторое время ошибка

Exception in thread "main" java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 231 ms.
at org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:706)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:453)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:339)

Я использую kafka-клиентов версии 0.9.0.0

Какие-нибудь мысли?

3 ответа

Решение

Исключение, которое вы видите, обычно является признаком того, что тема не была создана перед использованием. Message Hub не позволяет автоматически создавать темы - они должны создаваться либо через панель управления Bluemix, либо программно через интерфейс администратора REST. Когда вы получили эту ошибку, вы сначала создали тему?

Если вы их еще не нашли - вот ссылка на наши примеры, включая пример Java, который создает тему, а затем использует клиент Kafka Java для создания / получения сообщений. https://github.com/ibm-messaging/message-hub-samples

Хорошие новости. Все работает сейчас. Оказывается, тема исчезла с тех пор, как я в последний раз ее использовал

Я сделал POST-запрос к REST API, чтобы убедиться, что тема была создана, и вместо 422 я получил 202, поэтому тема не была создана. Теперь все работает как шарм

Спасибо всем

Что пользовательский интерфейс застрял на "Ожидание данных...", мы знаем о проблеме и работаем над ее устранением. ура

Другие вопросы по тегам