3

メッセージ ハブ サービスに接続しようとしています。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-clientsバージョン0.9.0.0を使用しています

何かご意見は?

4

3 に答える 3

4

表示される例外は、通常、トピックが使用前に作成されていないという症状です。Message Hub では、トピックの自動作成は許可されていません。トピックは、Bluemix ダッシュボードを使用して作成するか、管理 REST インターフェースを介してプログラムで作成する必要があります。このエラーが発生したとき、最初にトピックを作成しましたか?

まだ見つけていない場合は、サンプルへのリンクを次に示します。これには、トピックを作成し、Kafka Java クライアントを使用してメッセージを生成/消費する Java サンプルが含まれます。 https://github.com/ibm-messaging/message-hub-samples

于 2015-12-04T09:32:04.097 に答える
1

朗報です。すべてが機能するようになりました。前回使用してからトピックが消えてしまいました

トピックが作成されたことを確認するために REST API に対して POST 要求を実行しましたが、422 を受信する代わりに 202 を受信したため、トピックは作成されませんでした。今ではすべてが魔法のように機能します

みんなに感謝

于 2015-12-04T11:38:09.727 に答える
0

UI が「Waiting for data...」のまま動かなくなることについては、問題を認識しており、修正に取り組んでいます。乾杯

于 2015-12-04T10:20:15.337 に答える