Last active
December 29, 2015 07:29
-
-
Save valery1707/7636264 to your computer and use it in GitHub Desktop.
JBoss Upstart script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
description "JBoss 7.1.1.Final" | |
#start on (filesystem and networking) or runlevel [2345] | |
stop on runlevel [016] | |
env JBOSS_USER=jboss | |
env JBOSS_HOME=/srv/jboss/jboss-as-7.1.1.Final | |
env JBOSS_CONF_F=standalone | |
env JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman" | |
env JAVA_OPTS1="-Xms1g -Xmx4g -XX:PermSize=512m -XX:MaxPermSize=1024m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true" | |
env JAVA_OPTS2="-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000" | |
env JAVA_OPTS3="-Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true" | |
env JAVA_OPTS4="-Djboss.server.default.config=standalone.xml" | |
env JAVA_OPTS5="-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCodeCacheFlushing" | |
env JBOSS_PIDFILE=/var/run/jboss.pid | |
env JBOSS_CONSOLE_LOG=/srv/jboss/jboss-as-7.1.1.Final/standalone/log/console.log | |
env JBOSS_CONFIG=standalone.xml | |
env JBOSS_SCRIPT=standalone.sh | |
#console owner | |
kill timeout 300 | |
pre-start script | |
mkdir -p $(dirname $JBOSS_CONSOLE_LOG) | |
echo 'Prepare logs' | |
rm -f $JBOSS_CONSOLE_LOG | |
touch $JBOSS_CONSOLE_LOG | |
chown $JBOSS_USER:$JBOSS_USER $(dirname $JBOSS_CONSOLE_LOG) || true | |
chown $JBOSS_USER:$JBOSS_USER $JBOSS_CONSOLE_LOG | |
echo 'Clear failed deployments mark' | |
rm -f ${JBOSS_HOME}/standalone/deployments/*.failed || true | |
echo 'Clear vfs' | |
rm -f -r ${JBOSS_HOME}/standalone/tmp/vfs/* || true | |
end script | |
script | |
echo 'Prepare run JBoss' | |
# Combine all java_opts into one | |
env JAVA_OPTS="$JAVA_OPTS1 $JAVA_OPTS2 $JAVA_OPTS3 $JAVA_OPTS4 $JAVA_OPTS5" | |
# Extend paths for other params | |
env JBOSS_CONF=${JBOSS_HOME}/bin/${JBOSS_CONF_F}.conf | |
# Run JBoss | |
echo 'Run JBoss' | |
exec su -c "JBOSS_PIDFILE=$JBOSS_PIDFILE ${JBOSS_HOME}/bin/$JBOSS_SCRIPT -c $JBOSS_CONFIG 2>&1 > $JBOSS_CONSOLE_LOG" ${JBOSS_USER} | |
end script | |
post-start script | |
# Wait for tag-lines in log file | |
# JBoss AS 7.1.1.Final "Brontes" started in 32497ms | |
# JBoss AS 7.1.1.Final "Brontes" started (with errors) in 32497ms | |
while ! grep 'JBoss AS .* started.* in\s[0-9]*ms' "$JBOSS_CONSOLE_LOG" -q ; do sleep 1 ; done | |
end script | |
pre-stop script | |
exec su -c "${JBOSS_HOME}/bin/jboss-cli.sh --connect command=:shutdown" ${JBOSS_USER} | |
sleep 5s | |
end script |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment