Fixed version parsing
[aai/model-loader.git] / src / main / bin / start.sh
index f35b1f1..1dedb25 100644 (file)
@@ -1,25 +1,63 @@
 #!/bin/sh
+#*******************************************************************************
+#  ============LICENSE_START==========================================
+#  org.onap.aai
+#  ===================================================================
+#  Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+#  Copyright © 2017-2018 European Software Marketing Ltd.
+#  ===================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END============================================
+#*******************************************************************************
 
-BASEDIR="/opt/app/model-loader/"
-AJSC_HOME="$BASEDIR"
+# jre-alpine image has $JAVA_HOME set and added to $PATH
+# ubuntu image requires to set $JAVA_HOME and add java to $PATH manually
+if ( uname -v | grep -i "ubuntu" ); then
+    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-`dpkg --print-architecture | awk -F- '{ print $NF }'`
+    export PATH=${JAVA_HOME}:$PATH
+fi
+
+# AJSC_HOME is required for EELF logging.
+# This path is referenced in the file logback.xml.
+AJSC_HOME="${AJSC_HOME-/opt/app/model-loader}"
 
 if [ -z "$CONFIG_HOME" ]; then
-       echo "CONFIG_HOME must be set in order to start up process"
-       exit 1
+    echo "CONFIG_HOME must be set in order to start up the process"
+    echo "The expected value is a folder containing the model-loader.properties file"
+    exit 1
 fi
 
-CLASSPATH="$AJSC_HOME/lib/*"
-CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/"
-CLASSPATH="$CLASSPATH:$AJSC_HOME/etc/"
+# Some properties are repeated here for debugging purposes.
 PROPS="-DAJSC_HOME=$AJSC_HOME"
-PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/"
-PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml"
-PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME"
-PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=model-loader"
-PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1"
-PROPS="$PROPS -Dserver.port=8080"
 PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
+PROPS="$PROPS -Dcom.att.eelf.logging.path=$AJSC_HOME"
+PROPS="$PROPS -Dcom.att.eelf.logging.file=logback.xml"
+PROPS="$PROPS -Dlogback.configurationFile=$AJSC_HOME/logback.xml"
+PROPS="$PROPS -Dserver.port=9500"
+JVM_MAX_HEAP=${MAX_HEAP:-1024}
+
+if [ -z "${java_runtime_arguments}" ]; then
+  java_runtime_arguments="-Xms75m -Xmx${JVM_MAX_HEAP}m \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.authenticate=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.port=1099 \
+ -Dcom.sun.management.jmxremote.rmi.port=1099 \
+ -Djava.rmi.server.hostname=127.0.0.1"
+fi
 
-echo $CLASSPATH
+JARFILE=$(ls ./model-loader*.jar);
 
-exec java -Xms1024m -Xmx4096m -XX:PermSize=2024m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=// sslport=8081
+echo "java $java_runtime_arguments $PROPS -jar $JARFILE"
+java $java_runtime_arguments $PROPS -jar $JARFILE