Я пытаюсь использовать Cargo для управления контейнерами из веб-приложения на той же машине, что и контейнеры.До сих пор я был в состоянии сделать большинство вещей, но я застрял, когда дело доходит до выяснения состояния контейнера, когда я впервые запускаю приложение менеджера.Когда я впервые создаю экземпляр Container , container.getState () всегда возвращает State.UNKNOWN .Проблема в том, что создается дополнительная JVM, если я пытаюсь запустить уже запущенный контейнер, и мое приложение зависает, если я пытаюсь остановить контейнер, который в данный момент не запущен.Мой подход подобен следующему:
ConfigurationFactory configurationFactory = new DefaultConfigurationFactory();
LocalConfiguration configuration = (LocalConfiguration) configurationFactory.createConfiguration(containerId, ContainerType.INSTALLED, ConfigurationType.STANDALONE, CARGO_CONFIGURATION_DIRECTORY);
DefaultContainerFactory containerFactory = new DefaultContainerFactory();
InstalledLocalContainer container = (InstalledLocalContainer) containerFactory.createContainer(containerId, ContainerType.INSTALLED, configuration);
assert container.getState() == State.UNKNOWN;
Есть ли способ узнать, каково реальное состояние контейнера?Единственная информация, которую я могу найти о состоянии контейнера (до фактического запуска / остановки контейнера), - установлена ли она (через ZipURLInstaller.isAlreadyInstalled () ).