Der Liberty-Standalone-Frachtcontainer erstellt automatisch einen Server, sodass keine API erstellt werden muss. Der Servername kann jedoch nicht überschrieben werden und wird als defaultServer bezeichnet.
Zum Bereitstellen einer Anwendung oder zum Starten und Stoppen des Servers können Sie die normale Java-API verwenden. Die Codehause-Cargo-Website enthält einen Beispielcode zum Schreiben einer JUnit test unter Verwendung der Java-API. Ich habe den Code mit der Liberty-Anpassung hinzugefügt und den Code für das Festlegen des Kontextstamms für die Anwendung hinzugefügt.
// (1) Optional step to install the container from a URL pointing to its distribution
Installer installer = new ZipURLInstaller(
new URL("http://repo1.maven.org/maven2/com/ibm/websphere/appserver/runtime/wlp-javaee7/8.5.5.9/wlp-javaee7-8.5.5.9.zip"));
installer.install();
// (2) Create the Cargo Container instance wrapping our physical container
LocalConfiguration configuration = (LocalConfiguration) new DefaultConfigurationFactory().createConfiguration(
"liberty", ContainerType.INSTALLED, ConfigurationType.STANDALONE);
InstalledLocalContainer container =
(InstalledLocalContainer) new DefaultContainerFactory().createContainer(
"liberty", ContainerType.INSTALLED, configuration);
container.setHome(installer.getHome());
// (3) Statically deploy some WAR (optional)
WAR war = new WAR("cargo.war");
// (4) Set the context root for the application
war.setContext("/myContext");
configuration.addDeployable(war);
// (5) Start the container
container.start();
Die Eigenschaften können mit der LocalConfiguration-Schnittstelle eingestellt werden. Sie würden setPropertyValue mit dem richtigen Schlüssel aufrufen. Die Eigenschaftenschlüssel sind auf konstanten Schnittstellen wie dem GeneralPropertySet verfügbar.
Was meinen Sie mit Kontextnamen und Servernamen? Theoretisch sollte der Liberty-Frachtcontainer ein Drop-In-Ersatz für jedes Beispiel sein, das Sie für andere Anwendungsserver haben, die die Standard-Frachteigenschaften unterstützen. Der Container wird heruntergeladen, installiert, erstellt einen Standardserver und konfiguriert ihn. Wenn Sie einen bereits vorhandenen Server verwenden möchten, ist dieser Container nicht vorhanden. Ich denke, das wäre eine "Existierende lokale Konfiguration für den installierten Container" und keine "eigenständige lokale Konfiguration für den installierten Container" – Alasdair
@Alasdair: Ich habe die Frage aktualisiert. – wilx