Existe en Solaris una forma de configurar un servicio a través de generar un script y crear un archivo XML para la configuracion del servicio.
Encontre en este sitio una explicación de los servicios y del comportamiento de los servicios. En el esta explicado como hacerlo para JBoss 5.x, pero en mi caso tuve que hacer modificaciones para JBoss 4.2.3.GA.
Primero crea un script llamado jboss
#!/sbin/sh . /lib/svc/share/smf_include.sh getproparg() { val=`svcprop -p ${1} ${SMF_FMRI}` [ -n "$val" ] && echo $val } if [ -z ${SMF_FMRI} ]; then echo "SMF framework variables are not initialized." exit ${SMF_EXIT_ERR} fi METHOD=${1} # %m (start/stop) INSTANCE=${2} # %i (instance name) # read other properties... JBOSS_USER=root JBOSS_HOME=/usr/local/jboss-4.2.3.GA JBOSS_HOST=`getproparg instance/host` JBOSS_PROFILE=${INSTANCE} JBOSS_PARTITION=`getproparg instance/partition` JBOSS_UDP_ADDRESS=`getproparg instance/udp_address` JBOSS_UDP_PORT=`getproparg instance/udp_port` JBOSS_PROP=`getproparg instance/properties` JBOSS_EXTRA_OPTS= if [ -z ${JBOSS_HOME} ]; then echo "jboss/home property not set" exit ${SMF_EXIT_ERR_CONFIG} fi if [ ! -z ${JBOSS_PARTITION} ]; then JBOSS_EXTRA_OPTS="${JBOSS_EXTRA_OPTS} -g ${JBOSS_PARTITION}" fi if [ ! -z ${JBOSS_UDP_ADDRESS} ]; then JBOSS_EXTRA_OPTS="${JBOSS_EXTRA_OPTS} -u ${JBOSS_UDP_ADDRESS}" fi if [ ! -z ${JBOSS_UDP_PORT} ]; then JBOSS_EXTRA_OPTS="${JBOSS_EXTRA_OPTS} -m ${JBOSS_UDP_PORT}" fi if [ ! -z ${JBOSS_PROP} ]; then JBOSS_EXTRA_OPTS="${JBOSS_EXTRA_OPTS} -D${JBOSS_PROP}" fi if [ ! -d ${JBOSS_HOME}/server/${JBOSS_PROFILE} ]; then echo "jboss/profile ${JBOSS_PROFILE} not found" exit ${SMF_EXIT_ERR_CONFIG} fi case "${METHOD}" in 'start') su ${JBOSS_USER} -c "${JBOSS_HOME}/bin/run.sh -c ${JBOSS_PROFILE} -b ${JBOSS_HOST}" ${JBOSS_EXTRA_OPTS} & ;; 'stop') su ${JBOSS_USER} -c "${JBOSS_HOME}/bin/shutdown.sh -S" ;; *) echo "Usage: ${0} {start|stop}" exit 1 ;; esac exit ${SMF_EXIT_OK}
De esto lo más importante es el usuario y la ruta de JBoss, en general, como en casi cualquier sistema operativo es mejor crear un usuario para el servicio, en este caso jboss, aqui esta establecido el root directamente, lo que podría ser una falla de seguridad.
Este debe copiarse
cp jboss /lib/svc/method/ chmod +x /lib/svc/method/jboss
Luego debe crearse un XML para inciar el serivio, el del sitio original, yo lo modifique para JBoss-4.2.3.GA, las diferencias son que en la carpeta server las aplicacione son all, minimal y default, en cambio en JBoss 5.x son más.
El XML sería entonces
JBoss AS
Luego de crearlo debes incorporarlo como servicio a través del siguiente comando
svccfg import jboss.xml
Para aplicar la configuracion de multicast debes cambiar las propiedades a través del siguiente comando
svccfg -s svc:/application/jboss:default setprop instance/host=0.0.0.0 svcadm refresh jboss:default
Luego de lo cual puedes aplicar el comando para inciar (y habilitar)
svcadm restart jboss:default
Para reiniciar
svcadm restart jboss:default
O para detener
svcadm restart jboss:default