Как изящно завершить тестовый клиент - PullRequest
0 голосов
/ 01 июня 2018

У меня есть простой клиент теста cumulocity.Код работает нормально, но JVM не останавливается, когда код заканчивается.Некоторые потоки все еще работают: MultiThreadedHttpConnectionManager.

Как корректно отключить открытые соединения, выделенные:

InventoryApi inventory = platform.getInventoryApi() ?

_

...
platform = new PlatformImpl(App.C8Y_URL, new CumulocityCredentials(App.C8Y_USER, App.C8Y_PWD));
InventoryApi inventory = platform.getInventoryApi();

GId testId = new GId("123456");
ManagedObjectRepresentation testDevice = inventory.get(testId);
MeasurementApi mApi = platform.getMeasurementApi();

MeasurementRepresentation measurement = new MeasurementRepresentation();
measurement.setType("c8y_SampleRate");
measurement.setSource(testDevice);

DateTime time = new DateTime();
System.out.println("time " + time.toString());
measurement.setDateTime(time);
Map<String, Object> flowRateFragment = App.createFlowRateFragment(new BigDecimal(20.5));
measurement.set(flowRateFragment, "c8y_SampleRate");

MeasurementRepresentation measurementCreation = mApi.create(measurement);
...

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

НЕТ, вы не можете выйти после завершения кода.Агент Cumulocity предназначен для непрерывной работы, поэтому он не останавливает поток.Если вы хотите выйти, то вы должны использовать

System.exit(0); //Change the status code accordingly.

0 голосов
/ 04 июня 2018

Чтобы корректно завершить вызов клиента Cumulocity platform.close().

...