You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
3.2 KiB

#!@l_prefix@/bin/openpkg rc
##
## rc.jboss -- Run-Commands
##
%config
jboss_enable="$openpkg_rc_def"
jboss_config="server"
jboss_console="/dev/null"
%common
jboss_bindir="@l_prefix@/libexec/jboss/bin"
jboss_check_host=127.0.0.1 # host to check whether it accepts connections
jboss_check_port=1098 # port to check whether it accepts connections
jboss_check_timeout_start=120 # max seconds until JBoss accepts connections on startup
jboss_check_timeout_stop=40 # max seconds until JBoss rejects connections on shutdown
jboss_probe () {
# check whether JBoss is up and running
nc -z $jboss_check_host $jboss_check_port >/dev/null 2>&1
}
jboss_start () {
eval `JAVA_PLATFORM="sun-jdk" @l_prefix@/bin/java-toolkit -e`
# load custom environment
. @l_prefix@/etc/jboss/jboss.sh
# remove state which is left over from last execution. This is
# strongly recommended as otherwise strange effects may occur
# (mainly in combination with Tomcat).
rm -rf @l_prefix@/var/jboss/$jboss_config/work/* \
@l_prefix@/var/jboss/$jboss_config/tmp/* \
>/dev/null 2>&1 || true
# startup JBoss as a background process
( nohup $jboss_bindir/run.sh -c $jboss_config \
-D jboss.server.base.url=file:@l_prefix@/var/jboss \
-D jboss.server.base.dir=@l_prefix@/var/jboss \
</dev/null >$jboss_console 2>&1 &
) >/dev/null 2>&1
# wait for JBoss until it accepts connections
i=0
until jboss_probe; do
i=$(($i + 1))
[ $i -gt $jboss_check_timeout_start ] && \
rcMsg -e "JBoss does not start" && \
exit 1
sleep 1
done
exit 0
}
jboss_stop () {
# FIXME: this is all but elegant but otherwise shutdown fails in 3.2.6
for f in `find @l_prefix@/libexec/jboss/client -name '*.jar'`; do
JBOSS_CLASSPATH="$f:$JBOSS_CLASSPATH"
done
export JBOSS_CLASSPATH
# trigger JBoss shutdown process
eval `JAVA_PLATFORM="sun-jdk" @l_prefix@/bin/java-toolkit -e`
$jboss_bindir/shutdown.sh -S
# wait until JBoss service disappears
i=0
while jboss_probe; do
i=$(($i + 1))
[ $i -gt $jboss_check_timeout_stop ] && \
rcMsg -e "failed to assure that JBoss has stopped" && \
exit 1
sleep 1
done
exit 0
}
%status -u @l_nusr@ -o
jboss_usable="unknown"
jboss_active="no"
rcService jboss enable yes && \
jboss_probe && jboss_active="yes"
echo "jboss_enable=\"$jboss_enable\""
echo "jboss_usable=\"$jboss_usable\""
echo "jboss_active=\"$jboss_active\""
%start -u @l_nusr@
rcService jboss enable yes || exit 0
rcService jboss active yes && exit 0
jboss_start
%stop -u @l_nusr@
rcService jboss enable yes || exit 0
rcService jboss active no && exit 0
jboss_stop
%restart -u @l_nusr@
rcService jboss enable yes || exit 0
rcService jboss active no && exit 0
rc jboss stop start