Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Dockerized Java EE 8 Apps With Glassfish 5.0

DZone's Guide to

Dockerized Java EE 8 Apps With Glassfish 5.0

There's a shiny new base GlassFish Docker image specifically made for Java EE 8 app development. Take a look at what it offers and how you can put it to use.

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

GlassFish 5.0 represents the reference implementation of Java EE 8. We can Dockerize Java EE 8 applications by using a GlassFish base image, such as the official oracle/glassfish.

The Dockerfile of a zero-dependency Java EE 8 application looks like as follows:

FROM oracle/glassfish:5.0

COPY target/application.war $GLASSFISH_HOME/glassfish/domains/domain1/autodeploy/


A Docker container of that image starts the application server and auto-deploys our application.

application.war is a thin WAR deployment artifact — what speeds up build, publishing and deployment times. The WAR file comprises only application-specific classes — no implementation-specific JAR files. If needed, any dependencies are added on top of the base image — before the actual application.

Imagine, we want to add the Prometheus Java API:

FROM oracle/glassfish:5.0

ENV GLASSFISH_LIB=$GLASSFISH_HOME/glassfish/domains/domain1/lib/ext/

# add Prometheus Java API
COPY .../simpleclient-0.0.26.jar $GLASSFISH_LIB
COPY .../simpleclient_common-0.0.26.jar $GLASSFISH_LIB

COPY target/application.war $GLASSFISH_HOME/glassfish/domains/domain1/autodeploy/


The application can already use Java EE 8 standards such as JSON-B. The provided dependency is javax:javaee-api:8.0 — same as the Java EE 7 API with an incremented version number.

To see a full example that uses Prometheus, please see Prometheus with Java EE. That example can also run on Java EE 8 and GlassFish 5 by updating the API version to 8.0 and the Docker base image to oracle/glassfish.

Have fun developing Java EE 8 applications for Docker!

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:
java ,java ee 8 ,docker containers ,glassfish

Published at DZone with permission of Sebastian Daschner, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}