一部のデバイスからデータを収集するフィールド ゲートウェイがあり、そのデータを IOThub に送信しようとしています。ゲートウェイはCamelなので、IOThubへの送信データをコンポーネントとして作成する必要があります。Endpoint start() メソッドに以下を追加しました
connString= "xxxxxxxx";
protocol = IotHubClientProtocol.AMQPS;
System.out.println("In start2");
client = new DeviceClient(connString, protocol);
System.out.println("In start3");
client.open();
System.out.println("In start4");
プロデューサーからの交換からデータを取得し、次のコードを使用してエンドポイントのメソッドに送信しました
Message msg = new Message(payloadBytes);
Object lockobj = new Object();
EventCallback callback = new EventCallback();
client.sendEventAsync(msg, callback, lockobj);
テストルート (Hello world メッセージ付き) を実行すると、データは Iothub に送られますが、以下の警告が表示されます。しかし、ゲートウェイを実行すると、client.open() でハングします... In start2 と In start3 のみが出力されます。start4 ではありません。
Sep 15, 2016 7:06:10 AM org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory getClass
WARNING: unable to load org.bouncycastle.openssl.PEMReader
Sep 15, 2016 7:06:10 AM org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory getClass
WARNING: unable to load org.bouncycastle.openssl.PasswordFinder
Sep 15, 2016 7:06:10 AM org.apache.qpid.proton.engine.impl.ssl.SslEngineFacadeFactory <clinit>
WARNING: unable to load bouncycastle provider
エンドポイントの stop() メソッドに client.close() を追加しました。多分私は間違った場所に開閉を置いています。助けてください!!