diff --git a/Dockerfile b/Dockerfile index 93f54c7..34f8111 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,8 @@ ENV JAVA_MEMORY_MAX=512m ENV JAVA_HOME=/usr/local/lib/jvm/java-openjdk-dcevm ENV JRE_HOME=/usr/local/lib/jvm/java-openjdk-dcevm ENV JAVA_OPTS= +ENV ENABLE_HOTSWAP=true +ENV ENABLE_JDWP=true # Install curl RUN apt update && apt -y install curl diff --git a/README.md b/README.md index dbf09fa..c51576b 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,13 @@ It is expected that containers are configured in Maven using the Fabric8 or Spot | `/var/lib/jvm/dev/lib-extra7` | JARs | No | You may include your own `hotswap-agent.properties` in any of the `classes` folders. The one loaded by default is usually sufficient. + +You can specify the following environment variables when running the container. + +| Environment Variable | Default Value | Description | +| -------------------- | ------------- | ----------- | +| `JAVA_MEMORY_INIT` | `128m` | The initial and minimum JVM memory. | +| `JAVA_MEMORY_MAX` | `512m` | The maximum JVM memory allowed. | +| `ENABLE_HOTSWAP` | `true` | Set to `false` to disable the HotSwap agent. | +| `ENABLE_JDWP` | `true` | Set to `false` to disable the Java debugger. | +| `JAVA_OPTS` | | Set to extend the standard `JAVA_OPTS` environment variable. | diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index e3052b9..77e6d2c 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -6,4 +6,12 @@ JAVA_CP="${JAVA_CP}:/var/lib/jvm/dev/classes:/var/lib/jvm/dev/classes-extra1:/va JAVA_CP="${JAVA_CP}:/var/lib/jvm/dev/lib/*:/var/lib/jvm/dev/lib-extra1/*:/var/lib/jvm/dev/lib-extra2/*:/var/lib/jvm/dev/lib-extra3/*:/var/lib/jvm/dev/lib-extra4/*:/var/lib/jvm/dev/lib-extra5/*:/var/lib/jvm/dev/lib-extra6/*:/var/lib/jvm/dev/lib-extra7/*" EXEC_JAVA_OPTS="${JAVA_OPTS} -classpath ${JAVA_CP}" +if [ "${ENABLE_HOTSWAP}" = "true" ]; then + EXEC_JAVA_OPTS="${EXEC_JAVA_OPTS} ${HOTSWAP_JAVA_OPTS}" +fi + +if [ "${ENABLE_JDWP}" = "true" ]; then + EXEC_JAVA_OPTS="${EXEC_JAVA_OPTS} ${JDWP_JAVA_OPTS}" +fi + exec ${JAVA_HOME}/bin/java ${EXEC_JAVA_OPTS} ${JAVA_CLASS} diff --git a/pom.xml b/pom.xml index 08f1648..a11c93e 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ - 11.0.10+4 + 11.0.10+6 11 diff --git a/setenv.sh b/setenv.sh index d4a7276..fbc1be2 100644 --- a/setenv.sh +++ b/setenv.sh @@ -1,4 +1,4 @@ #!/bin/sh JAVA_OPTS="${JAVA_OPTS} -Xms${JAVA_MEMORY_INIT} -Xmx${JAVA_MEMORY_MAX}" -JAVA_OPTS="${JAVA_OPTS} -XX:HotswapAgent=external -javaagent:/usr/local/lib/jvm/hotswap-agent.jar" -JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" +HOTSWAP_JAVA_OPTS="-XX:HotswapAgent=external -javaagent:/usr/local/lib/jvm/hotswap-agent.jar" +JDWP_JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"