#!/bin/sh

SHORT_NAME=ess-router
NAME=direct-$SHORT_NAME
VERSION=`cat /var/www/$NAME/version`
FULL_NAME=$NAME-$ESS_ROUTER_PROCESS_NUMBER
GC_LOG="/var/log/yandex/$FULL_NAME.gc.log"

# MEM_FOR_HEAP передаётся из run-скрипта
MEM_OPTS="-Xmx${MEM_FOR_HEAP:-8}G"

ulimit -v unlimited

JAVA_OPTS="$MEM_OPTS \
    -Dfile.encoding=UTF-8 \
    -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true \
    -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=0 \
    -XX:-UsePerfData \
    -XX:+UseG1GC \
    -XX:MaxGCPauseMillis=100 \
    -Xlog:gc*=info,safepoint=info,age*=trace:file=$GC_LOG:time,uptime,level,tags:filecount=5,filesize=100M \
    -XX:+CrashOnOutOfMemoryError \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:-OmitStackTraceInFastThrow \
    -XX:HeapDumpPath=/var/log/yandex/$FULL_NAME.hprof"

PROG_OPTS=(
    --log-configs-directory "/etc/direct/$SHORT_NAME/logging-config"
)

JAVA_ARGS=(
    -cp "/var/www/$NAME/hotfix/$VERSION/classes/:/var/www/$NAME/$NAME/*:"
    -Djava.library.path="/var/www/$NAME/$NAME"
     ru.yandex.direct.ess.router.EventSourcingSystemRouterApp
)
exec /usr/local/yandex-direct-jdk11/bin/java ${JAVA_OPTS} "${JAVA_ARGS[@]}" "${PROG_OPTS[@]}" "$@"
