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
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 |
|
|
|
|