Replace LOGPATH with LOGSUFFIX
[policy/engine.git] / packages / base / src / files / install / servers / brmsgw / init.d / brmsgw
1 #!/bin/bash
2
3 BRMSGW_BASE=${POLICY_HOME}/servers/brmsgw/
4 COMPONENT=brmsgw
5 brmsgw_RUNNING="pgrep -f "${BRMSGW_BASE}""
6
7 RETVAL=0
8
9 function update_monitor() {
10         COMPONENT=$1
11         STATUS=$2
12         if [[ -f ${POLICY_HOME}/etc/monitor/monitor.cfg ]]; then
13                 /bin/sed -i.bak \
14                         -e "s/^${COMPONENT}=.*/${COMPONENT}=${STATUS}/g" \
15                         ${POLICY_HOME}/etc/monitor/monitor.cfg  
16         fi
17 }
18
19 # unmonitored stop, does not change monitor status (immutable)
20 function um_stop() {
21         pid=$(pgrep -f "${BRMSGW_BASE}" 2> /dev/null)
22         kill -9 "${pid}"
23         RETVAL=$?
24 }
25
26 function stop() {
27         um_stop
28         if [[ ${RETVAL} != 0 ]]; then
29                 update_monitor ${COMPONENT} on
30         else
31                 update_monitor ${COMPONENT} off
32         fi      
33 }
34
35 # unmonitored start, does not change monitor status (immutable)
36 function um_start() {
37         unset JMX_JAVA_OPTS JVM_SECURITY CMD_JAVA_OPTS
38         JMX_JAVA_OPTS+=("-Dcom.sun.management.jmxremote") 
39         JMX_JAVA_OPTS+=("-Dcom.sun.management.jmxremote.port=$BRMSGW_JMX_PORT") 
40         JMX_JAVA_OPTS+=("-Dcom.sun.management.jmxremote.ssl=false") 
41         JMX_JAVA_OPTS+=("-Dcom.sun.management.jmxremote.authenticate=false") 
42         JVM_JAVA_OPTS=("-Xms${COMPONENT_X_MS_MB}M" "-Xmx${COMPONENT_X_MX_MB}M") 
43         JVM_SECURITY+=("-Djavax.net.ssl.keyStore=${POLICY_HOME}/etc/ssl/policy-keystore") 
44         JVM_SECURITY+=("-Djavax.net.ssl.keyStorePassword=${KEYSTORE_PASSWD}") 
45         JVM_SECURITY+=("-Djavax.net.ssl.trustStore=${POLICY_HOME}/etc/ssl/policy-keystore") 
46         JVM_SECURITY+=("-Djavax.net.ssl.trustStorePassword=${KEYSTORE_PASSWD}") 
47         CMD_JAVA_OPTS+=("-DPOLICY_LOGS=${POLICY_LOGS}") 
48  
49         JAVA_OPTS=("${JVM_JAVA_OPTS[@]}" "${JMX_JAVA_OPTS[@]}" "${JVM_SECURITY[@]}" "${CMD_JAVA_OPTS[@]}") 
50  
51         cd $POLICY_HOME/servers/brmsgw
52         mkdir -p $POLICY_LOGS/policy/brmsgw 2>/dev/null
53         nohup $JAVA_HOME/bin/java -jar "${JAVA_OPTS[@]}" $POLICY_HOME/servers/brmsgw/BRMSGateway.jar>> $POLICY_LOGS/policy/brmsgw/brmsgw.log 2>&1 &
54         RETVAL=$?
55 }
56
57 function start() {
58         um_start
59         if [[ ${RETVAL} != 0 ]]; then
60                 update_monitor ${COMPONENT} off
61         else
62                 update_monitor ${COMPONENT} on
63         fi      
64 }
65
66 function status() {
67         # check status
68         pid=$(pgrep -f "${BRMSGW_BASE}" 2> /dev/null)
69         RETVAL=$?
70         
71         # If the PID was returned means the application is running
72         if [ ${RETVAL} -eq 0 ]; then
73                 echo "running with pid ${pid}"
74         else
75                 echo "stopped"
76         fi
77 }
78
79
80 # main
81
82 COMPONENT=$(basename $0)
83
84 CONF_FILE="${POLICY_HOME}/servers/${COMPONENT}/config.properties"
85
86 # read properties
87
88 shopt -s extglob
89 configfile="dos_or_unix" # set the actual path name of your (DOS or Unix) config file
90 while IFS='= ' read lhs rhs
91 do
92     if [[ ! $lhs =~ ^\ *# && -n $lhs ]]; then
93         rhs="${rhs%%\#*}"    # Del in line right comments
94          rhs="${rhs%%*( )}"   # Del trailing spaces
95         rhs="${rhs%\"*}"     # Del opening string quotes 
96          rhs="${rhs#\"*}"     # Del closing string quotes
97          if [[ $lhs != *"."* ]]; then
98                 declare $lhs="$rhs"
99          fi
100    fi
101 done < "${CONF_FILE}"
102
103
104 if [ $? -ne 0 ]; then
105         echo "error: cannot source configuration ${CONF_FILE}"
106         exit 1
107 fi
108
109 case "$1" in
110     status)
111                 status
112         ;;
113         restart)
114                 stop
115         sleep 2
116         start
117         ;;
118         start)
119         start
120         ;;
121         umstart)
122         um_start
123         ;;        
124         stop)
125                 stop
126         ;;
127         umstop)
128         um_stop
129         ;;            
130     *)
131         echo "error: invalid option $@"
132         RETVAL=1
133         ;;
134 esac
135
136 exit ${RETVAL}