0
我試圖使用Cargo來管理與容器相同機器上的webapp的容器。到目前爲止,我已經能夠做大部分事情,但是當我第一次啓動我的管理器應用程序時,發現容器的狀態時,我一直陷入困境。當我第一次創建Container實例時,container.getState()總是返回State.UNKNOWN。問題是如果嘗試啓動已啓動的容器,則會創建額外的JVM,如果嘗試停止當前未運行的容器,則應用程序會掛起。我的方法如下:Cargo:找出已安裝的容器的狀態
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())。