2016-06-16 9 views
1

Ich sehe https://codehaus-cargo.github.io/cargo/WebSphere+Liberty.html und ich bin eher stecken auf, wie man vorgeht (in Java), um einen Server zu erstellen und installieren Sie eine Webapp in es.Wie erstellt man einen Server und stellt Webapp mit Cargo in WebSphere Liberty um?

Die Dokumentation (gleiche Seite wie oben im Grunde) erwähnt Eigenschaften, aber es ist mir nicht klar, wie Kontextnamen und Servernamen den genannten Eigenschaften abzubilden.

Gibt es ein gutes (oder irgendein) Beispiel, wie man das macht?

UPDATE

Was ich meine ist, wie kann ich tun, um das Äquivalent von server create myserver Befehl, gefolgt von mvn liberty:deploy in die gerade myserver erstellt, gefolgt von server start myserver?

+0

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

+0

@Alasdair: Ich habe die Frage aktualisiert. – wilx

Antwort

1

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.

+0

Schade, dass wir keine benutzerdefinierten benannten Server erstellen können, aber der defaultServer erledigt dies erst einmal. Vielen Dank. Akzeptiert. – wilx

+0

Also, ich denke, ich habe die Grundlagen gemacht. Ich kann bereitstellen, aber der Server bindet nur an Loopback-Adresse, so dass der Server außerhalb nicht zugänglich ist. Ich habe versucht mit '*' und mit '0.0.0.0' in' slc.setProperty (GeneralPropertySet.HOSTNAME, Hostname); 'aber es gab keine Änderung in' usr \ servers \ defaultServer \ server.xml'. – wilx

+0

Wenn du ein JIRA erhöhst und es mir zuordnest, werde ich es mir ansehen. – Alasdair

Verwandte Themen