Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
5.11.0, 5.11.1
-
None
-
None
-
None
Description
ActiveMQ 5.8.0 has been running in our environment (RHEL 5.0) for many years. We have a wrapper script that sets up some environment variables before launching ActiveMQ, including setting ACTIVEMQ_CLASSPATH to allow our SSL classes to find and load our keystores. Although we are running on Linux, I found that I needed to set the ACTIVEMQ_CLASSPATH using Windows-style class pathSeparator. That is:
ACTIVEMQ_CLASSPATH="$MYHOME;$MYHOME/classes;$MYHOME/classes/mycompany.jar"; export ACTIVEMQ_CLASSPATH
Instead of:
ACTIVEMQ_CLASSPATH="$MYHOME:$MYHOME/classes:$MYHOME/classes/mycompany.jar"; export ACTIVEMQ_CLASSPATH
If I used the Unix-style pathSeparator, then ActiveMQ would fail to start because it could not find my classes in mycompany.jar file, but with the Windows-style pathSeparator, it works, even though it is running on Linux!
Flash forward to today when I am experimenting with ActiveMQ 5.11.1 upgrade. Suddenly the broker won't start because it can't find my properties files that are in the classpath. I traced it back to this change in the 'bin/activemq' script in the distribution.
ActiveMQ 5.8.0 implementation (in fact this is true thru 5.10.2):
ACTIVEMQ_CLASSPATH="${ACTIVEMQ_CONF};${ACTIVEMQ_CLASSPATH}"
Notice the Windows-style pathSeparator. This works perfectly.
However, beginning with ActiveMQ 5.11.0, the above line looks like:
ACTIVEMQ_CLASSPATH="${ACTIVEMQ_CONF}:${ACTIVEMQ_CLASSPATH}"
Here it has been "fixed" to use the Unix-style separator, but this actually breaks it! If I change this one thing back to ";", then all is well again.
Attachments
Issue Links
- is duplicated by
-
AMQ-6138 ACTIVEMQ_CLASSPATH not extendable
- Resolved