Я пытаюсь протестировать простой скрипт, который убьет и перезапустит службу, если она обнаружит ошибку нехватки памяти. Сам сервис выполняет полные операции CRUD и вызывает скрипт в опциях JVM, определенных в его стартовом скрипте.
В скрипте start.sh:
DEFAULT_JVM_OPTS='"-Xmx512m" "-Dapp.name=app-service" "-XX:OnOutOfMemoryError=./oom.sh" "-Dspring.profiles.active='"$1"'"'
exec nohup "$JAVACMD" $DEFAULT_JVM_OPTS -jar $CLASSPATH > stdout.out 2> stderr.err &
А в ом.ш
#!/usr/bin/env sh
kill %p;
echo "service out of memory"
sleep 5
echo "Restarting service"
./start.sh profileName
Моя самая большая проблема сейчас - на самом деле тестирование скрипта, вызывая ошибку OOM. Теоретически, случится так, что будет вызван скрипт oom.sh, который убьет, а затем перезапустит службу. Я пытался использовать Postman Runner, чтобы отправить 500, чтобы получить все запросы, но не повезло. Кто-нибудь знает лучший способ сделать это?