You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2022/11/29 06:42:41 UTC

[activemq] branch activemq-5.17.x updated: [AMQ-9126] Set jolokia.conf sys prop and escape cleanly on Windows platform

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch activemq-5.17.x
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/activemq-5.17.x by this push:
     new 3f6ffd30d [AMQ-9126] Set jolokia.conf sys prop and escape cleanly on Windows platform
3f6ffd30d is described below

commit 3f6ffd30d27d3ac3c11d27004eea850fa165c0b9
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Mon Nov 28 18:41:55 2022 +0100

    [AMQ-9126] Set jolokia.conf sys prop and escape cleanly on Windows platform
    
    (cherry picked from commit 49626f07b67c09914d4b70548da6e198bd0de1e0)
---
 assembly/src/release/bin/activemq                | 13 +++++++++++++
 assembly/src/release/bin/activemq.bat            |  6 +++++-
 assembly/src/release/webapps/api/WEB-INF/web.xml |  2 +-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/assembly/src/release/bin/activemq b/assembly/src/release/bin/activemq
index c3f04f2e5..422cbd8d0 100755
--- a/assembly/src/release/bin/activemq
+++ b/assembly/src/release/bin/activemq
@@ -125,6 +125,11 @@ if [ -z "$ACTIVEMQ_CONF" ] ; then
     fi
 fi
 
+# Jolokia configuration
+if [ -z "$JOLOKIA_CONF" ] ; then
+  JOLOKIA_CONF=file:$ACTIVEMQ_CONF/jolokia-access.xml
+fi
+
 # Configure a user with non root privileges, if no user is specified do not change user
 if [ -z "$ACTIVEMQ_USER" ] ; then
     ACTIVEMQ_USER=""
@@ -267,6 +272,7 @@ if [ "$OSTYPE" = "cygwin" ];then
   ACTIVEMQ_BASE="`cygpath --windows "$ACTIVEMQ_BASE"`"
   ACTIVEMQ_CONF="`cygpath --windows "$ACTIVEMQ_CONF"`"
   ACTIVEMQ_DATA="`cygpath --windows "$ACTIVEMQ_DATA"`"
+  JOLOKIA_CONF="`cygpath --windows "$JOLOKIA_CONF"`"
   ACTIVEMQ_CLASSPATH=`cygpath --path --windows "$ACTIVEMQ_CLASSPATH"`
   [ -n "$JAVA_HOME" ] &&
     JAVA_HOME="`cygpath --windows "$JAVA_HOME"`"
@@ -288,6 +294,7 @@ if [ "$OSTYPE" = "cygwin" ];then
   ACTIVEMQ_BASE="`echo ${ACTIVEMQ_BASE}|sed '~s,[\\]*$,,g'`"
   ACTIVEMQ_CONF="`echo ${ACTIVEMQ_CONF}|sed '~s,[\\]*$,,g'`"
   ACTIVEMQ_DATA="`echo ${ACTIVEMQ_DATA}|sed '~s,[\\]*$,,g'`"
+  JOLOKIA_CONF="`echo ${JOLOKIA_CONF}|sed '~s,[\\]*$,,g'`"
 fi
 
 # Start the ActiveMQ JAR
@@ -361,6 +368,7 @@ invokeJar(){
               -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
               -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
               -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+              -Djolokia.conf=\"${JOLOKIA_CONF}\" \
               $ACTIVEMQ_CYGWIN \
               -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS >> $ACTIVEMQ_OUT 2>&1 &
               RET=\"\$?\"; APID=\"\$!\";
@@ -374,6 +382,7 @@ invokeJar(){
               -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
               -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
               -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+              -Djolokia.conf=\"${JOLOKIA_CONF}\" \
               $ACTIVEMQ_CYGWIN \
               -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS >> $ACTIVEMQ_OUT 2>&1 &
               RET=\"\$?\"; APID=\"\$!\";
@@ -404,6 +413,7 @@ invokeJar(){
                 -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
                 -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
                 -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+                -Djolokia.conf=\"${JOLOKIA_CONF}\" \
                 $ACTIVEMQ_CYGWIN \
                 -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS --pid $SPID &
                 RET=\"\$?\"; APID=\"\$!\";
@@ -416,6 +426,7 @@ invokeJar(){
                 -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
                 -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
                 -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+                -Djolokia.conf=\"${JOLOKIA_CONF}\" \
                 $ACTIVEMQ_CYGWIN \
                 -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS --pid $SPID &
                 RET=\"\$?\"; APID=\"\$!\";
@@ -444,6 +455,7 @@ invokeJar(){
           -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
           -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
           -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+          -Djolokia.conf=\"${JOLOKIA_CONF}\" \
           $ACTIVEMQ_CYGWIN \
           -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS" $DOIT_POSTFIX
         RET="$?"
@@ -454,6 +466,7 @@ invokeJar(){
           -Dactivemq.base=\"${ACTIVEMQ_BASE}\" \
           -Dactivemq.conf=\"${ACTIVEMQ_CONF}\" \
           -Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
+          -Djolokia.conf=\"${JOLOKIA_CONF}\" \
           $ACTIVEMQ_CYGWIN \
           -jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS" $DOIT_POSTFIX
         RET="$?"
diff --git a/assembly/src/release/bin/activemq.bat b/assembly/src/release/bin/activemq.bat
index c532c43ae..831b7f30b 100755
--- a/assembly/src/release/bin/activemq.bat
+++ b/assembly/src/release/bin/activemq.bat
@@ -92,7 +92,11 @@ REM Setup ActiveMQ Classpath.
 REM Add instance conf dir before AMQ install conf dir to pick up instance-specific classpath entries first
 set ACTIVEMQ_CLASSPATH=%ACTIVEMQ_CONF%;%ACTIVEMQ_BASE%/conf;%ACTIVEMQ_HOME%/conf;%ACTIVEMQ_CLASSPATH%
 
-"%_JAVACMD%" %ACTIVEMQ_SUNJMX_START% %ACTIVEMQ_DEBUG_OPTS% %ACTIVEMQ_OPTS% %ACTIVEMQ_SSL_OPTS% -Dactivemq.classpath="%ACTIVEMQ_CLASSPATH%" -Dactivemq.home="%ACTIVEMQ_HOME%" -Dactivemq.base="%ACTIVEMQ_BASE%" -Dactivemq.conf="%ACTIVEMQ_CONF%" -Dactivemq.data="%ACTIVEMQ_DATA%" -Djava.io.tmpdir="%ACTIVEMQ_TMP%" -jar "%ACTIVEMQ_HOME%/bin/activemq.jar" %*
+REM Setup jolokia-access.xml path by doubling the \\
+if "%JOLOKIA_CONF%" == "" set JOLOKIA_CONF=file:%ACTIVEMQ_CONF%\jolokia-access.xml
+set JOLOKIA_CONF=%JOLOKIA_CONF:\=\\%
+
+"%_JAVACMD%" %ACTIVEMQ_SUNJMX_START% %ACTIVEMQ_DEBUG_OPTS% %ACTIVEMQ_OPTS% %ACTIVEMQ_SSL_OPTS% -Dactivemq.classpath="%ACTIVEMQ_CLASSPATH%" -Dactivemq.home="%ACTIVEMQ_HOME%" -Dactivemq.base="%ACTIVEMQ_BASE%" -Dactivemq.conf="%ACTIVEMQ_CONF%" -Dactivemq.data="%ACTIVEMQ_DATA%" -Djolokia.conf="%JOLOKIA_CONF%" -Djava.io.tmpdir="%ACTIVEMQ_TMP%" -jar "%ACTIVEMQ_HOME%/bin/activemq.jar" %*
 
 goto end
 
diff --git a/assembly/src/release/webapps/api/WEB-INF/web.xml b/assembly/src/release/webapps/api/WEB-INF/web.xml
index 56825838c..e7013186f 100644
--- a/assembly/src/release/webapps/api/WEB-INF/web.xml
+++ b/assembly/src/release/webapps/api/WEB-INF/web.xml
@@ -55,7 +55,7 @@
         -->
         <init-param>
             <param-name>policyLocation</param-name>
-            <param-value>file:${prop:activemq.conf}/jolokia-access.xml</param-value>
+            <param-value>${prop:jolokia.conf}</param-value>
         </init-param>
         <!-- turn off returning exceptions and stacktraces from jolokia -->
         <init-param>