startup.sh revision 8166b048bd3e2106dbdeaa1a2b8a728952d788f4
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major#!/bin/sh
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# clean up left over pid files if necessary
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorcleanupPidFile() {
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major if [ -f $OPENIDM_PID_FILE ]; then
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major rm -f "$OPENIDM_PID_FILE"
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major fi
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major trap - EXIT
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major exit
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major}
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major# resolve links - $0 may be a softlink
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter MajorPRG="$0"
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Majorwhile [ -h "$PRG" ]; do
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major ls=`ls -ld "$PRG"`
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major link=`expr "$ls" : '.*-> \(.*\)$'`
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major if expr "$link" : '/.*' > /dev/null; then
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major PRG="$link"
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major else
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major PRG=`dirname "$PRG"`/"$link"
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major fi
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Majordone
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Major
dfc4e0fc3052835b2a069aa9d869fa1161c33fe6Peter Majorecho $PRG
1f48f8236de7de97be1c6b9d06bef50b379c8801jenkins
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major# Get standard environment variables
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter MajorPRGDIR=`dirname "$PRG"`
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major# Make the script location the current directory
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Majorcd $PRGDIR
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major
a149d11dfee7bcc667e71ec330b7566dd0437c1fjeff.schenk# Only set OPENIDM_HOME if not already set
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major[ -z "$OPENIDM_HOME" ] && OPENIDM_HOME=`cd "$PRGDIR" >/dev/null; pwd`
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major# Only set OPENIDM_PID_FILE if not already set
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major[ -z "$OPENIDM_PID_FILE" ] && OPENIDM_PID_FILE=$OPENIDM_HOME/.openidm.pid
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major# Only set OPENIDM_OPTS if not already set
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major[ -z "$OPENIDM_OPTS" ] && OPENIDM_OPTS=${openidm.options}
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major# Set JDK Logger config file if it is present and an override has not been issued
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Majorif [ -z "$LOGGING_CONFIG" ]; then
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major if [ -r "$OPENIDM_HOME"/conf/logging.properties ]; then
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major LOGGING_CONFIG="-Djava.util.logging.config.file=$OPENIDM_HOME/conf/logging.properties"
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major else
80ca0b9f5ad61b2335af25d4dcf25a04ebfcbc91Peter Major LOGGING_CONFIG="-Dnop"
fi
fi
if [ "$1" = "jpda" ] ; then
if [ -z "$JPDA_TRANSPORT" ]; then
JPDA_TRANSPORT="dt_socket"
fi
if [ -z "$JPDA_ADDRESS" ]; then
JPDA_ADDRESS="5005"
fi
if [ -z "$JPDA_SUSPEND" ]; then
JPDA_SUSPEND="n"
fi
if [ -z "$JPDA_OPTS" ]; then
JPDA_OPTS="-Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
fi
OPENIDM_OPTS="$OPENIDM_OPTS $JPDA_OPTS"
shift
fi
CLASSPATH="$OPENIDM_HOME"/bin/felix.jar
echo "Using OPENIDM_HOME: $OPENIDM_HOME"
echo "Using OPENIDM_OPTS: $OPENIDM_OPTS"
echo "Using LOGGING_CONFIG: $LOGGING_CONFIG"
# Keep track of this pid
echo $$ > $OPENIDM_PID_FILE
# start in normal mode
exec java "$LOGGING_CONFIG" $JAVA_OPTS $OPENIDM_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
-Djava.security.auth.login.config=security/jaas-repo.conf \
-classpath "$CLASSPATH" \
-Dopenidm.system.server.root="$OPENIDM_HOME" \
-Dignore.openidm.system.server.environment="dev|test|qa|prod" \
org.apache.felix.main.Main "$@"