X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=karaf%2Fopendaylight-karaf-resources%2Fsrc%2Fmain%2Fresources%2Fbin%2Fkaraf;h=9b061b7c9d8079546b3c3562c9052b7d25f50f37;hp=cad052a8ce46fcf60c8cb1fa109f7e94a52d3329;hb=2e7a820b74cc232da3b3ece2ce4991ead7cbab01;hpb=d51d1e8ce97983afcc39c1df65b368f921fc749d diff --git a/karaf/opendaylight-karaf-resources/src/main/resources/bin/karaf b/karaf/opendaylight-karaf-resources/src/main/resources/bin/karaf index cad052a8ce..9b061b7c9d 100755 --- a/karaf/opendaylight-karaf-resources/src/main/resources/bin/karaf +++ b/karaf/opendaylight-karaf-resources/src/main/resources/bin/karaf @@ -16,8 +16,8 @@ # limitations under the License. # -DIRNAME=`dirname $0` -PROGNAME=`basename $0` +DIRNAME=`dirname "$0"` +PROGNAME=`basename "$0"` # # Sourcing environment settings for karaf similar to tomcats setenv @@ -92,7 +92,7 @@ unlimitFD() { # Increase the maximum file descriptors if we can if [ "$os400" = "false" ] && [ "$cygwin" = "false" ]; then MAX_FD_LIMIT=`ulimit -H -n` - if [ "$MAX_FD_LIMIT" != 'unlimited' ]; then + if [ "$MAX_FD_LIMIT" != 'unlimited' ]; then if [ $? -eq 0 ]; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then # use the system max @@ -195,7 +195,7 @@ locateJava() { fi if [ "x$JAVA_HOME" = "x" ] && [ "$darwin" = "true" ]; then - JAVA_HOME="$(/usr/libexec/java_home)" + JAVA_HOME="$(/usr/libexec/java_home -v 1.7)" fi if [ "x$JAVA" = "x" ] && [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` @@ -209,7 +209,7 @@ locateJava() { else warn "JAVA_HOME not set; results may vary" JAVA=`type java` - JAVA=`expr "$JAVA" : '.*is \(.*\)$'` + JAVA=`expr "$JAVA" : '.* \(/.*\)$'` if [ "x$JAVA" = "x" ]; then die "java command not found" fi @@ -237,7 +237,7 @@ detectJVM() { checkJvmVersion() { # echo "`$JAVA -version`" - VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9])"' | awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed -e 's;\.;;g'` + VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed -e 's;\.;;g'` # echo $VERSION if [ "$VERSION" -lt "60" ]; then echo "JVM must be greater than 1.6" @@ -251,6 +251,10 @@ setupDebugOptions() { fi export JAVA_OPTS + if [ "x$EXTRA_JAVA_OPTS" != "x" ]; then + JAVA_OPTS="$JAVA_OPTS $EXTRA_JAVA_OPTS" + fi + # Set Debug options if enabled if [ "x$KARAF_DEBUG" != "x" ]; then # Ignore DEBUG in case of stop or client mode @@ -271,19 +275,10 @@ setupDebugOptions() { } setupDefaults() { - DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass " + DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+HeapDumpOnOutOfMemoryError" #Set the JVM_VENDOR specific JVM flags if [ "$JVM_VENDOR" = "SUN" ]; then - # - # Check some easily accessible MIN/MAX params for JVM mem usage - # - if [ "x$JAVA_PERM_MEM" != "x" ]; then - DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM" - fi - if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then - DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:MaxPermSize=$JAVA_MAX_PERM_MEM" - fi DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote" elif [ "$JVM_VENDOR" = "IBM" ]; then if $os400; then @@ -295,6 +290,13 @@ setupDefaults() { fi fi + # Add default security file option + if [ "x$ODL_JAVA_SECURITY_PROPERTIES" != "x" ]; then + DEFAULT_JAVA_OPTS="-Djava.security.properties="${ODL_JAVA_SECURITY_PROPERTIES}" $DEFAULT_JAVA_OPTS" + else + DEFAULT_JAVA_OPTS="-Djava.security.properties="${KARAF_ETC}/odl.java.security" $DEFAULT_JAVA_OPTS" + fi + # Add the jars in the lib dir for file in "$KARAF_HOME"/lib/karaf*.jar do @@ -304,7 +306,12 @@ setupDefaults() { CLASSPATH="$CLASSPATH:$file" fi done - DEFAULT_JAVA_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" + + DEFAULT_JAVA_DEBUG_PORT="5005" + if [ "x$JAVA_DEBUG_PORT" = "x" ]; then + JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT" + fi + DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$JAVA_DEBUG_PORT" ## ## TODO: Move to conf/profiler/yourkit.{sh|cmd} @@ -340,7 +347,7 @@ init() { # Determine the JVM vendor detectJVM - + # Determine the JVM version >= 1.6 checkJvmVersion