GEDOPLAN
Application ServerJakarta EE (Java EE)

WildFly Bootable JAR – JEE-Server im Projekt integrieren

Application ServerJakarta EE (Java EE)
bullet 457334 640

Application Server werden häufig als schwergewichtig characterisiert, was aber nicht an ihrer Größe liegt, sondern daran, dass man zum Betrieb einer Enterprise-Applikation zunächst einen Server installieren und konfigurieren muss, bevor die Anwendung darauf deployt werden kann.

Man kann die Vorbereitung allerdings auch im Anwendungsprojekt erledigen und automatisieren, sodass der zusätzliche Aufwand im Betrieb entfällt. Das geht bspw. mit einem Maven-Plugin für WildFly:

      <plugin>
        <groupId>org.wildfly.plugins</groupId>
        <artifactId>wildfly-jar-maven-plugin</artifactId>
        <version>10.0.0.Final</version>
        <configuration>
          <feature-packs>
            <feature-pack>
              <location>wildfly@maven(org.jboss.universe:community-universe)#27.0.1.Final</location>
            </feature-pack>
          </feature-packs>
          <layers>
            <layer>jaxrs</layer>
            <layer>cdi</layer>
          </layers>
          <output-file-name>wildfly-bootable.jar</output-file-name>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>package</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

Ein mvn package erzeugt nun zusätzlich zum normalen Ergebnis des Builds – i. A. ein war-File – die Datei wildfly-bootable.jar, die den Server inklusive der Anwendung enthält. Sie kann mit java -jar wildfly-bootable.jar gestartet werden.

Wie oben zu sehen ist, wird der Server aus sog. Layers zusammengesetzt. Somit kann man also einen Server genau auf die Anwendung zuschneiden und die Teile weglassen, die nicht benötigt werden.

Weitere Möglichkeiten sind u.a.:

  • Erstellung eines sog. Hollow JARs. Es enthält nur den provisionierten Server. Die Anwendung wird dann beim Start mittels Kommandozeilenparameter bestimmt.
  • Ausführen von Konfigurations-Skripten (jboss-cli), z. B. um bestimmte Datasources einzurichten oder Logging-Einstellungen vorzunehmen.
  • Starten von Anwendung und Server im Development-Modus mit Hot Reloading von Code-Änderungen.

Weitere Details s. https://docs.wildfly.org/27/Bootable_Guide.html.

Wir nutzen das Plugin und insb. den Development Mode seit einiger Zeit in unseren Seminaren. Die Erfahrungen sind sehr gut. Angenehm ist, dass die Projekte ihre Serverkonfiguration mitbringen und für die Weiterentwicklung der Anwendungen keine besondere Integration in die IDE vonnöten ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

hypnosis 4041584 640
Webprogrammierung

Reaktive Templates in Angular

Die Arbeit mit Observables ist sicherlich täglich Brot für die meisten Angular Entwickler. Ein Template-Feature ist dabei allerdings vielen Entwicklern…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!