All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rcychuang.modest-starter.0.0.1.source-code.start.sh Maven / Gradle / Ivy

The newest version!
#!/bin/sh

cd `dirname $0`
BIN_DIR=`pwd`
cd ..

START_CLASS=com.modest.starter.startup.Server
SERVER_HOME=`pwd`
CONTAINER_NAME=`pwd | rev | awk -F \/ '{print $1}' | rev`
CONFIG_DIR="/etc/lmw/$CONTAINER_NAME/config"
echo CONFIG_DIR
LIB_DIR=$SERVER_HOME/lib
LOGS_DIR="/data/logs/$CONTAINER_NAME"
STDOUT_FILE=$LOGS_DIR/all.log
cd $BIN_DIR

if [ ! -d $LOGS_DIR ]; then
	mkdir -p $LOGS_DIR
fi

if [ ! -d $CONFIG_DIR ]; then
  CONFIG_DIR=$SERVER_HOME/config
fi
echo $CONFIG_DIR

if [ -n "$JAVA_HOME" ]; then
    if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVACMD="$JAVA_HOME/bin/java"
    else
        echo "** ERROR: java under JAVA_HOME=$JAVA_HOME cannot be executed"
        exit 1
    fi
else
    JAVACMD=`which java 2> /dev/null`
    if [ -z "$JAVACMD" ]; then
        JAVACMD=java
    fi
fi

# Verify that it is java 5+
javaVersion=`$JAVACMD -version 2>&1 | grep "java version" | egrep -e "1\.[678]"`
if [ -z "$javaVersion" ]; then
    $JAVACMD -version
    echo "** ERROR: The Java of $JAVACMD version is not 1.6 and above."
    exit 1
fi


# Verify minimal JVM props are set
hasMinHeapSize=`echo "$JAVA_OPTIONS" | grep "\\-Xms"`
if [ -z "$hasMinHeapSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -Xms1g"
fi
hasMaxHeapSize=`echo "$JAVA_OPTIONS" | grep "\\-Xmx"`
if [ -z "$hasMaxHeapSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -Xmx1g"
fi
hasMinPermSize=`echo "$JAVA_OPTIONS" | grep "\\-XX:PermSize"`
if [ -z "$hasMinPermSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -XX:PermSize=128m"
fi
hasMaxPermSize=`echo "$JAVA_OPTIONS" | grep "\\-XX:MaxPermSize"`
if [ -z "$hasMaxPermSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -XX:MaxPermSize=128m"
fi
hasMinNewSize=`echo "$JAVA_OPTIONS" | grep "\\-XX:NewSize"`
if [ -z "$hasMinNewSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -Xms1024M"
fi
hasMaxNewSize=`echo "$JAVA_OPTIONS" | grep "\\-XX:MaxNewSize"`
if [ -z "$hasMaxNewSize" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -Xmx1024M"
fi
hasGcFlags=`echo "$JAVA_OPTIONS" | grep "\\-XX:-Use.*GC"`
if [ -z "$hasGcFlags" ]; then
    JAVA_OPTIONS="$JAVA_OPTIONS -XX:-UseConcMarkSweepGC -XX:+UseParNewGC"
fi

JAVA_OPTIONS="$JAVA_OPTIONS -server -Dserver.home=$SERVER_HOME -Dconfig.home=$CONFIG_DIR -Dfile.encoding=UTF8"


# Add all jars under the lib dir to the classpath
for i in `ls $LIB_DIR/*.jar`
do
    CLASSPATH="$CLASSPATH:$i"
done

nohup "$JAVACMD" $JAVA_OPTIONS -cp "$CONFIG_DIR:$CLASSPATH" $START_CLASS "$@" > /dev/null 2>&1 &

COUNT=0
while [ $COUNT -lt 1 ]; do    
    echo -e ".\c"
    sleep 1 
    	COUNT=`ps -f | grep java | grep "$SERVER_HOME" | awk '{print $2}' | wc -l`
    if [ $COUNT -gt 0 ]; then
        break
    fi
done

echo "OK!"
PIDS=`ps -f | grep java | grep "$SERVER_HOME" | awk '{print $2}'`
echo "PID: $PIDS"
echo "STDOUT: $STDOUT_FILE"




© 2015 - 2025 Weber Informatics LLC | Privacy Policy