#!/bin/sh

export KARAF_STARTDATE=`date +"%Y%m%d%H%M%S"`

if [ "$KARAF_SCRIPT" == "client" ] || [ "$KARAF_SCRIPT" == "status" ] || [ "$KARAF_SCRIPT" == "stop" ] ; then
    export JAVA_MIN_MEM=16M
    export JAVA_MAX_MEM=128M
    export JAVA_KUBERNETES_OPTS=
else
    export JAVA_MIN_MEM=
    export JAVA_MAX_MEM=
    export JAVA_KUBERNETES_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"
    export JAVA_GC_LOG_OPTS="-Xlog:gc*:file=data/log/gc.log:time,hostname,uptime,pid,tags,level:filecount=16,filesize=16M"
    export JAVA_HEAPDUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data/log/jvm-heapdump-$KARAF_STARTDATE.hprof"
    export JAVA_NET_OPTS="-Dnetworkaddress.cache.ttl=60 -Dsun.net.client.defaultConnectTimeout=30000 -Dsun.net.client.defaultReadTimeout=300000"    
    export JAVA_SP_LOG_OPTS="-Xlog:safepoint*:file=data/log/safepoints.log:time,hostname,uptime,pid,tags,level:filecount=16,filesize=16m"
fi

export JAVA_G1_GC_OPTS="-XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=800" 

# export JAVA_HOME # Location of Java installation
export LOG4SHELL_OPTS="-Dlog4j2.formatMsgNoLookups=true -Djdk.util.zip.disableZip64ExtraFieldValidation=true"
export EXTRA_JAVA_OPTS="$JAVA_KUBERNETES_OPTS $JAVA_G1_GC_OPTS $JAVA_GC_LOG_OPTS $JAVA_SP_LOG_OPTS $JAVA_HEAPDUMP_OPTS $JAVA_NET_OPTS $LOG4SHELL_OPTS"
# export KARAF_HOME # Karaf home folder
# export KARAF_DATA # Karaf data folder
# export KARAF_BASE # Karaf base folder
# export KARAF_ETC  # Karaf etc  folder
# export KARAF_OPTS # Additional available Karaf options
# export KARAF_DEBUG # Enable debug mode
# export KARAF_REDIRECT # Enable/set the std/err redirection when using bin/start
export KARAF_NOROOT=true
