0

一部のデバイスからデータを収集するフィールド ゲートウェイがあり、そのデータを 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() を追加しました。多分私は間違った場所に開閉を置いています。助けてください!!

4

1 に答える 1

0

次の依存関係を追加する必要がありました

<dependency>
<groupId>com.microsoft.azure.iot</groupId>
<artifactId>proton-j-azure-iot</artifactId>
<version>0.12.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
于 2016-09-15T17:17:37.567 に答える