Watchdog Script für Jetty 7.0.2

Der in der Version 7.0.2 kommt mit automatischen Deploys von großen WAR-Files nicht zurecht. Dauert der Upload der WAR-File länger als das Rescaninterval des Jetty-WAR-Deployers, so stürzt die Java-VM ab. Das liegt wieder mal an einer Linux-Lib für die Dekomprimierung der WAR-Files. Da der Jetty keine Exception schmeißt sondern samt VM untergeht, gibt es an der Stelle auch keine Chance eine Exception zu fangen, oder einen Log des Fehlers zu sehen.

Mein Workaround ist ein Watchdog welches auf den Jetty aufpasst. Mit dem wird jede Minute geschaut, ob der Jetty noch läuft. Falls der Server nicht läuft aber eine Jetty PID existiert, wird der Jetty gestartet. Falls der Server nicht läuft und keine PID existiert, wird der Jetty nicht gestartet, da er dann wohl absichtlich gestoppt wurde.

#!/bin/bash
start="/etc/init.d/jetty start"
check="opt/jetty/start.jar"
pid="/var/run/jetty.pid"

# check if the pid file is in place.
if [ -f $pid ]; then

        found=`ps -ef|grep -v grep|grep ${check}|awk '{print $8}'`

        if [ ! -s found ]; then
                ${start}
                exit
        fi
fi

exit
Dieser Beitrag wurde unter Tutorials abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf Watchdog Script für Jetty 7.0.2

  1. Oliver sagt:

    Deine found Zeile mit dem if geht einfacher:

    stat /proc/`cat $pid` >/dev/null 2>&1 && ${start}

    :D

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>