我有一个从某些设备收集数据的现场网关,我正在尝试将这些数据发送到 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()。也许我将打开和关闭放置在错误的位置。请帮忙!!