У меня есть полевой шлюз, который собирает данные с некоторых устройств, и я пытаюсь отправить эти данные в IOThub. Шлюз находится в Camel, поэтому я должен сделать отправку данных в IOThub как компонент. Я добавил следующее в методе конечных точек старта()В Azure IOThub используется компонент Camel, висящий на client.open();
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);
Когда я бегу тестовый маршрут (с приветственным мировым сообщением), данные поступают на Iothub, но он показывает предупреждение ниже. Но когда я запускаю шлюз, он зависает на client.open() ... Только в 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
Я добавил client.close() в метод stop() конечной точки. Возможно, я размещаю открытые и закрытые в неправильных местах. Пожалуйста помоги!!