3 # init script for a Java application
6 function update_monitor() {
9 if [[ -f ${POLICY_HOME}/etc/monitor/monitor.cfg ]]; then
11 -e "s/^${COMPONENT}=.*/${COMPONENT}=${STATUS}/g" \
12 ${POLICY_HOME}/etc/monitor/monitor.cfg
16 # unmonitored start, does not change monitor status (immutable)
18 JMX_JAVA_OPTS="-Dcom.sun.management.jmxremote"
19 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.port=${LOGPARSER_JMX_PORT}"
20 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
21 JMX_JAVA_OPTS="${JMX_JAVA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
22 JVM_JAVA_OPTS="-Xms${LOGPARSER_X_MS_MB}M -Xmx${LOGPARSER_X_MX_MB}M"
24 CMD_JAVA_OPTS="-DPOLICY_LOGS=${POLICY_LOGS}"
26 JAVA_OPTS="${JAVA_OPTS} ${JMX_JAVA_OPTS} ${JVM_JAVA_OPTS} ${CMD_JAVA_OPTS}"
28 # Redirects default and error output to a log file
29 cd ${POLICY_HOME}/servers/${COMPONENT}/bin
30 mkdir -p ${POLICY_LOGS}/policy/${COMPONENT} 2>/dev/null
31 nohup $JAVA_HOME/bin/java -jar ${JAVA_OPTS} ${SERVICE} ${SERVER} ${LOGTYPE} >> ${POLICY_LOGS}/policy/${COMPONENT}/stdout 2>&1 &
36 # Starts the application
39 if [[ ${RETVAL} != 0 ]]; then
40 update_monitor ${COMPONENT} off
42 update_monitor ${COMPONENT} on
46 # unmonitored stop, does not change monitor status (immutable)
48 # Kills the application process
49 pkill -u ${POLICY_USER} -f "${SERVICE} ${SERVER} ${LOGTYPE}" -TERM
51 if [[ ${RETVAL} != 0 ]]; then
53 pkill -u ${POLICY_USER} -f "${SERVICE} ${SERVER} ${LOGTYPE}" -KILL
58 # Stops the application
61 update_monitor ${COMPONENT} off
64 # Show the application status
67 pid=$(pgrep -f -u ${POLICY_USER} "${SERVICE} ${SERVER} ${LOGTYPE}" 2> /dev/null)
70 # If the PID was returned means the application is running
71 if [ ${RETVAL} -eq 0 ] ; then
72 echo "running with pid ${pid}"
78 # Main logic, a simple case to call functions
80 # determine if this is a paplp or pdplp component
81 COMPONENT=$(basename $0)
83 CONF_FILE="${POLICY_HOME}/servers/${COMPONENT}/bin/parserlog.properties"
84 SERVICE="${POLICY_HOME}/servers/${COMPONENT}/bin/logparser.jar"
88 configfile="dos_or_unix" # set the actual path name of your (DOS or Unix) config file
89 while IFS='= ' read lhs rhs
91 if [[ ! $lhs =~ ^\ *# && -n $lhs ]]; then
92 rhs="${rhs%%\#*}" # Del in line right comments
93 rhs="${rhs%%*( )}" # Del trailing spaces
94 rhs="${rhs%\"*}" # Del opening string quotes
95 rhs="${rhs#\"*}" # Del closing string quotes
96 if [[ $lhs != *"."* ]]; then
100 done < "${CONF_FILE}"
101 if [ $? -ne 0 ]; then
102 echo "error: cannot source configuration ${CONF_FILE}"
128 echo "Usage: $0 {start|stop|umstart|umstop|restart|status}"