# Directories and files
CONF_DIR=/etc/$APP
+CONF_DIRS=/etc/$APP/conf.d
+BASE_POLICY_ALL=/usr/share/$APP/all.policy
+BASE_CONFIG_INI=/usr/share/$APP/config.ini
EXEC_DIR=/var/lib/$APP
DATA_DIR=$EXEC_DIR/data
CONF_RW=$EXEC_DIR/state
-LOG_DIR=/var/log/$APP
-LOG_FILE=$LOG_DIR/$APP.log
-
-RUN_DIR=/var/run/$APP
-PID_FILE=$RUN_DIR/$APP.pid
-#SHUTDOWN_FILE=$RUN_DIR/$APP.shutdown
+CONFIG_INI=$CONF_RW/config.ini
OSGI_INSTALL_AREA=/usr/share/osgi/boot
OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar
RETVAL=0
start() {
- if [ -f $PID_FILE ];then
- PID=`cat $PID_FILE`
- kill -0 $PID &> /dev/null
- PID_EXISTS=$?
- if [ $PID_EXISTS -eq 0 ]; then
- echo $APP already running with pid $PID
- RETVAL=1
- return $RETVAL
- else
- echo Old $APP process with pid $PID is dead, removing $PID_FILE
- rm -f $PID_FILE
- fi
- fi
+ mkdir -p $CONF_RW
+ mkdir -p $DATA_DIR
+
+ # Merge config files
+ echo ## Equinox configuration - Generated by /usr/sbin/nodectl > $CONFIG_INI
+ cat $BASE_CONFIG_INI >> $CONFIG_INI
+ cat $CONF_DIR/$APP.ini >> $CONFIG_INI
+ for file in `ls -v $CONF_DIRS/*.ini`; do
+ echo "\n# $file\n" >> $CONFIG_INI;
+ cat $file >> $CONFIG_INI
+ done;
-# if [ ! -f $CONF_RW/config.ini ]; then
- cp --preserve $CONF_DIR/config.ini $CONF_RW/config.ini
-# fi
-# touch $SHUTDOWN_FILE
cd $EXEC_DIR
$JVM \
-Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \
- -Djava.security.manager= \
- -Djava.security.policy="file:$CONF_DIR/node.policy" \
$JAVA_OPTS -jar $OSGI_FRAMEWORK \
-configuration "$CONF_RW" \
-data "$DATA_DIR"
fi
# notifies application by removing the shutdown file
- rm -f $SHUTDOWN_FILE
+# rm -f $SHUTDOWN_FILE
+ kill $PID
# wait 10 min for application to shutdown, then kill it
TIMEOUT=$((10*60))
# remove pid file
rm -f $PID_FILE
return $RETVAL
-
-# timeout is only available in EL6
-# timeout 5m sh << EOF
-#while kill -0 $PID &> /dev/null; do sleep 1; done
-#EOF
-# TIMEOUT_EXIT=$?
-# if [ $TIMEOUT_EXIT -eq 124 ];then
-# kill -9 $PID
-# RETVAL=1
-# echo Killed $APP with pid $PID
-# else
-# echo Stopped $APP with pid $PID
-# fi
-# rm -f $PID_FILE
-# return $RETVAL
}
status() {