#!/usr/bin/env bash

NAME="eltex-pcrf"

if [ -e "/etc/default/$NAME" ]; then
    # use params from /etc/default/eltex-pcrf
    source /etc/default/$NAME
    exec "$JAVA" $JVM_OPTS -jar "$JAR"
    exit $? # exit with exec exit code
fi

JAVA=/usr/bin/java
JAVA_INIT_HEAP=256m
JAVA_MAX_HEAP=512m

# Options for Java Garbage Collector
GC_OPTS="-XX:+UseParallelGC \
-XX:+PrintGCDateStamps \
-XX:+PrintGCDetails \
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=7 \
-XX:GCLogFileSize=5M \
-Xloggc:/var/log/eltex-pcrf/gc.log"

# To monitor via JMX - jconsole to host:acctPort
#JMX_OPTS="-Dcom.sun.management.jmxremote \
#-Dcom.sun.management.jmxremote.acctPort=8085 \
#-Dcom.sun.management.jmxremote.authenticate=false \
#-Dcom.sun.management.jmxremote.ssl=false \
#-Djava.rmi.server.hostname=127.0.0.1"

HEAP_DUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-pcrf"
VERTX_CACHE_DIR_OPT="-Dvertx.cacheDirBase=/var/lib/$NAME"

JVM_OPTS="$JMX_OPTS $GC_OPTS $HEAP_DUMP_OPTS -Xms$JAVA_INIT_HEAP -Xmx$JAVA_MAX_HEAP $VERTX_CACHE_DIR_OPT"
JAR="/usr/lib/eltex-pcrf/$NAME.jar"

exec "$JAVA" $JVM_OPTS -jar "$JAR"

