Skip to content

Commit 92a9704

Browse files
committed
[feature] Allow additional JAVA_TOOL_OPTIONS to be set at Docker Container build time
1 parent 4a3f06c commit 92a9704

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

exist-docker/src/main/resources-filtered/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ ARG ELEMENTAL_SERVER_MAX_BROKER="20"
3232
##
3333
# JVM maximum RAM use (as a percentage of RAM available to the Docker Container)
3434
ARG JVM_MAX_RAM_PERCENTAGE="75.0"
35+
36+
# Any additional options to be added to the JAVA_TOOL_OPTIONS Environment Variable for the JVM
37+
ARG ADDITIONAL_JAVA_TOOL_OPTIONS
3538
##
3639
### END: Container build time args for JVM (Java Virtual Machine)
3740

@@ -54,6 +57,7 @@ FROM cgr.dev/chainguard/glibc-dynamic:latest
5457
ARG ELEMENTAL_SERVER_CACHE_MEM
5558
ARG ELEMENTAL_SERVER_MAX_BROKER
5659
ARG JVM_MAX_RAM_PERCENTAGE
60+
ARG ADDITIONAL_JAVA_TOOL_OPTIONS
5761

5862
# Copy over dependencies for updated JRE from Wolfi
5963
COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
@@ -116,7 +120,7 @@ ENV CLASSPATH="/elemental/lib/${elemental.uber.jar.filename}"
116120

117121
ENV JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
118122

119-
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${ELEMENTAL_SERVER_CACHE_MEM}M -Dorg.exist.db-connection.pool.max=${ELEMENTAL_SERVER_MAX_BROKER} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE} -XX:+ExitOnOutOfMemoryError"
123+
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${ELEMENTAL_SERVER_CACHE_MEM}M -Dorg.exist.db-connection.pool.max=${ELEMENTAL_SERVER_MAX_BROKER} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE} -XX:+ExitOnOutOfMemoryError ${ADDITIONAL_JAVA_TOOL_OPTIONS}"
120124

121125
ENV PATH="/usr/lib/jvm/java-21-openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
122126

exist-docker/src/main/resources-filtered/Dockerfile-DEBUG

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ ARG JVM_MAX_RAM_PERCENTAGE="75.0"
3737
ARG JVM_JDWP_SUSPEND="n"
3838
# JVM debugging protocol address and/or port
3939
ARG JVM_JDWP_ADDRESS="5005"
40+
41+
# Any additional options to be added to the JAVA_TOOL_OPTIONS Environment Variable for the JVM
42+
ARG ADDITIONAL_JAVA_TOOL_OPTIONS
4043
##
4144
### END: Container build time args for JVM (Java Virtual Machine)
4245

@@ -50,6 +53,7 @@ ARG ELEMENTAL_SERVER_MAX_BROKER
5053
ARG JVM_MAX_RAM_PERCENTAGE
5154
ARG JVM_JDWP_SUSPEND
5255
ARG JVM_JDWP_ADDRESS
56+
ARG ADDITIONAL_JAVA_TOOL_OPTIONS
5357

5458
RUN apk update && apk upgrade
5559
# Install dependencies needed for JDK
@@ -89,7 +93,7 @@ ENV CLASSPATH="/elemental/lib/${elemental.uber.jar.filename}"
8993

9094
ENV JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
9195

92-
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${ELEMENTAL_SERVER_CACHE_MEM}M -Dorg.exist.db-connection.pool.max=${ELEMENTAL_SERVER_MAX_BROKER} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE} -XX:+ExitOnOutOfMemoryError -agentlib:jdwp=transport=dt_socket,server=y,suspend=${JVM_JDWP_SUSPEND},address=${JVM_JDWP_ADDRESS}"
96+
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${ELEMENTAL_SERVER_CACHE_MEM}M -Dorg.exist.db-connection.pool.max=${ELEMENTAL_SERVER_MAX_BROKER} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE} -XX:+ExitOnOutOfMemoryError -agentlib:jdwp=transport=dt_socket,server=y,suspend=${JVM_JDWP_SUSPEND},address=${JVM_JDWP_ADDRESS} ${ADDITIONAL_JAVA_TOOL_OPTIONS}"
9397

9498
ENV PATH="/usr/lib/jvm/java-21-openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
9599

0 commit comments

Comments
 (0)