0356b22ab7c621bd7d74854c95c98bbb986a5a81
[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 
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  
48         JAVA_OPTS=("${JVM_JAVA_OPTS[@]}" "${JMX_JAVA_OPTS[@]}" "${JVM_SECURITY[@]}") 
49  
50         cd $POLICY_HOME/servers/brmsgw
51         mkdir -p $POLICY_LOGS/policy/brmsgw 2>/dev/null
52         nohup $JAVA_HOME/bin/java -jar "${JAVA_OPTS[@]}" $POLICY_HOME/servers/brmsgw/BRMSGateway.jar>> $POLICY_LOGS/policy/brmsgw/brmsgw.log 2>&1 &
53         RETVAL=$?
54 }
55
56 function start() {
57         um_start
58         if [[ ${RETVAL} != 0 ]]; then
59                 update_monitor ${COMPONENT} off
60         else
61                 update_monitor ${COMPONENT} on
62         fi      
63 }
64
65 function status() {
66         # check status
67         pid=$(pgrep -f "${BRMSGW_BASE}" 2> /dev/null)
68         RETVAL=$?
69         
70         # If the PID was returned means the application is running
71         if [ ${RETVAL} -eq 0 ]; then
72                 echo "running with pid ${pid}"
73         else
74                 echo "stopped"
75         fi
76 }
77
78
79 # main
80
81 COMPONENT=$(basename $0)
82
83 CONF_FILE="${POLICY_HOME}/servers/${COMPONENT}/config.properties"
84
85 # read properties
86
87 shopt -s extglob
88 configfile="dos_or_unix" # set the actual path name of your (DOS or Unix) config file
89 while IFS='= ' read lhs rhs
90 do
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
97                 declare $lhs="$rhs"
98          fi
99    fi
100 done < "${CONF_FILE}"
101
102
103 if [ $? -ne 0 ]; then
104         echo "error: cannot source configuration ${CONF_FILE}"
105         exit 1
106 fi
107
108 case "$1" in
109     status)
110                 status
111         ;;
112         restart)
113                 stop
114         sleep 2
115         start
116         ;;
117         start)
118         start
119         ;;
120         umstart)
121         um_start
122         ;;        
123         stop)
124                 stop
125         ;;
126         umstop)
127         um_stop
128         ;;            
129     *)
130         echo "error: invalid option $@"
131         RETVAL=1
132         ;;
133 esac
134
135 exit ${RETVAL}