#!/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-%p-%t.log:time,hostname,uptime,pid,tags,level:filecount=16,filesize=16M"
    export JAVA_SP_LOG_OPTS="-Xlog:safepoint*:file=data/log/safepoints-%p-%t.log:time,hostname,uptime,pid,tags,level:filecount=16,filesize=16m"
fi

# Begin HYTE
export JAVA_G1_GC_OPTS="-XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=800" 
export JAVA_HEAPDUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data/log/jvm-heapdump-$KARAF_STARTDATE.hprof"
export JAVA_NET_OPTS="-Dsun.net.inetaddr.ttl=60 -Dsun.net.client.defaultConnectTimeout=300000 -Dsun.net.client.defaultReadTimeout=600000"
# END HYTE

# export JAVA_HOME # Location of Java installation
# G1 garbage collection
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"
# 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
