X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fdistribution%2Fopendaylight%2Fsrc%2Fmain%2Fresources%2Frun.sh;h=e4c20da350b87fac520cab4b9d2dac48881f1810;hp=2587a5d2ab54de060c4a258713352febf4c97725;hb=7b9ef3f7a0aed56c2394a0757d6c7871b898bdd9;hpb=9d3f0e86700273bf0fefc261e128f6e419827451 diff --git a/opendaylight/distribution/opendaylight/src/main/resources/run.sh b/opendaylight/distribution/opendaylight/src/main/resources/run.sh index 2587a5d2ab..e4c20da350 100755 --- a/opendaylight/distribution/opendaylight/src/main/resources/run.sh +++ b/opendaylight/distribution/opendaylight/src/main/resources/run.sh @@ -10,6 +10,15 @@ fi if [[ $platform == 'linux' ]]; then fullpath=`readlink -f $0` + + if [[ -z ${JAVA_HOME} ]]; then + # Find the actual location of the Java launcher: + java_launcher=`which java` + java_launcher=`readlink -f "${java_launcher}"` + + # Compute the Java home from the location of the Java launcher: + export JAVA_HOME="${java_launcher%/bin/java}" + fi elif [[ $platform == 'osx' ]]; then TARGET_FILE=$0 cd `dirname $TARGET_FILE` @@ -40,14 +49,14 @@ JVM at path ${JAVA_HOME}/bin/java check your JAVA_HOME" && exit -1; basedir=`dirname ${fullpath}` function usage { - echo "Usage: $0 [-debug] [-debugsuspend] [-debugport ] [-start []] [-stop] [-status] [-console] [-help] []" + echo "Usage: $0 [-jmx] [-jmxport ] [-debug] [-debugsuspend] [-debugport ] [-start []] [-stop] [-status] [-console] [-help] []" exit 1 } -if [ -v "TMP" ]; then - pidfile="${TMP}/opendaylight.PID" -else +if [ -z ${TMP} ]; then pidfile="/tmp/opendaylight.PID" +else + pidfile="${TMP}/opendaylight.PID" fi debug=0 debugsuspend=0 @@ -56,6 +65,9 @@ debugportread="" startdaemon=0 daemonport=2400 daemonportread="" +jmxport=1088 +jmxportread="" +startjmx=0 stopdaemon=0 statusdaemon=0 consolestart=1 @@ -65,8 +77,10 @@ unknown_option=0 while true ; do case "$1" in -debug) debug=1; shift ;; + -jmx) startjmx=1; shift ;; -debugsuspend) debugsuspend=1; shift ;; -debugport) shift; debugportread="$1"; if [[ "${debugportread}" =~ ^[0-9]+$ ]] ; then debugport=${debugportread}; shift; else echo "-debugport expects a number but was not found"; exit -1; fi;; + -jmxport) shift; jmxportread="$1"; if [[ "${jmxportread}" =~ ^[0-9]+$ ]] ; then jmxport=${jmxportread}; shift; else echo "-jmxport expects a number but was not found"; exit -1; fi;; -start) startdaemon=1; shift; daemonportread="$1"; if [[ "${daemonportread}" =~ ^[0-9]+$ ]] ; then daemonport=${daemonportread}; shift; fi;; -stop) stopdaemon=1; shift ;; -status) statusdaemon=1; shift ;; @@ -100,6 +114,12 @@ if [[ "${daemonport}" -lt 1024 ]] || [[ "${daemonport}" -gt 65535 ]]; then exit -1 fi +# Validate jmx port +if [[ "${jmxport}" -lt 1024 ]] || [[ "${jmxport}" -gt 65535 ]]; then + echo "JMX Port not in the range [1024,65535] value is ${jmxport}" + exit -1 +fi + # Debug options if [ "${debugsuspend}" -eq 1 ]; then extraJVMOpts="${extraJVMOpts} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${debugport}" @@ -107,6 +127,11 @@ elif [ "${debug}" -eq 1 ]; then extraJVMOpts="${extraJVMOpts} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${debugport}" fi +# Add JMX support +if [ "${startjmx}" -eq 1 ]; then + extraJVMOpts="${extraJVMOpts} -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=${jmxport} -Dcom.sun.management.jmxremote" +fi + ######################################## # Now add to classpath the OSGi JAR ########################################