78 lines
2 KiB
Bash
78 lines
2 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: glassfish
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
|
# to enable this service:
|
|
#
|
|
# glassfish_enable (bool):
|
|
# Set to NO by default.
|
|
# Set it to YES to enable glassfish.
|
|
#
|
|
# glassfish_java_home (string):
|
|
# Used to set JAVA_HOME (optional).
|
|
#
|
|
# glassfish_java_opts (string):
|
|
# Used to set JAVA_OPTS (optional).
|
|
#
|
|
# glassfish_domain_name (string):
|
|
# Set the name of the Glassfish domain to start (default: domain1).
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=glassfish
|
|
rcvar=glassfish_enable
|
|
|
|
load_rc_config $name
|
|
|
|
: ${glassfish_enable:=NO}
|
|
: ${glassfish_java_home=""}
|
|
: ${glassfish_java_opts=""}
|
|
: ${glassfish_domain_name="domain1"}
|
|
: ${glassfish_home="%%DATADIR%%/glassfish"}
|
|
|
|
procname="${glassfish_java_home}/bin/java"
|
|
|
|
# Since we receive the JAVA_HOME variable by default from the Java package
|
|
# we depend on, we override JAVA_HOME only if the user overrid it.
|
|
if [ ! -z ${glassfish_java_home} ] ; then
|
|
export JAVA_HOME=${glassfish_java_home}
|
|
else
|
|
export JAVA_HOME=%%JAVA_HOME%%
|
|
fi
|
|
|
|
export PATH=${JAVA_HOME}/bin:${PATH}
|
|
export JAVA_OPTS=${glassfish_java_opts}
|
|
|
|
start_precmd="glassfish_prestart"
|
|
start_cmd="${glassfish_home}/bin/asadmin start-domain ${glassfish_domain_name}"
|
|
stop_cmd="${glassfish_home}/bin/asadmin stop-domain ${glassfish_domain_name}"
|
|
status_cmd="glassfish_status"
|
|
|
|
glassfish_prestart()
|
|
{
|
|
if [ -z ${glassfish_domain_name} ] ; then
|
|
warn "Glassfish domain name cannot be empty, Glassfish will NOT start."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
glassfish_status()
|
|
{
|
|
# The output of list-domains -l in glassfish 4.1 is the following:
|
|
#
|
|
# DOMAIN ADMIN_HOST ADMIN_PORT RUNNING RESTART_REQUIRED
|
|
# domain1 localhost 4848 true false
|
|
IS_DOMAIN_RUNNING=$(${glassfish_home}/bin/asadmin list-domains -l | grep "^${glassfish_domain_name}" | awk '{ print $4; }')
|
|
if checkyesno IS_DOMAIN_RUNNING ; then
|
|
echo Glassfish is running.
|
|
return 0
|
|
else
|
|
echo Glassfish is not running.
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
run_rc_command "$1"
|