Allow for easy externalization of ActiveMQ configuration
--------------------------------------------------------
Key: AMQ-3248
URL: https://issues.apache.org/jira/browse/AMQ-3248
Project: ActiveMQ
Issue Type: Improvement
Components: Broker
Affects Versions: 5.4.2
Reporter: Torsten Mielke
Currently many of the AMQ configuration files use the property activemq.base to
load in other configuration files, e.g.
activemq.xml:
{code:title=activmeq.xml}
<property name="locations">
<value>file:${activemq.base}/conf/credentials.properties</value>
</property>
{code}
jetty.xml:
{code:title=jetty.xml}
<bean id="securityLoginService"
class="org.eclipse.jetty.security.HashLoginService">
<property name="name" value="ActiveMQRealm" />
<property name="config" value="${activemq.base}/conf/jetty-realm.properties"
/>
</bean>
{code}
webconsole-embedded.xml:
{code:title=webconsole-embedded.xml}
<property name="locations">
<value>file:${activemq.base}/conf/credentials.properties</value>
</property>
{code}
and others.
In case where you want to externalize the entire ActiveMQ configuration into a
folder that is not a sub folder of AMQ, there is the need to change multiple
configuration files. This is error prone.
In order to make the use of external AMQ configuration more easy to use, I
suggest to
1. Make use of the already existing environment variable ACTIVEMQ_CONFIG_DIR
which points to ${ACTIVEMQ_BASE}/conf by default in bin/activemq script.
2. Map the environment variable to the Java variable activemq.conf in
bin/activemq script
2. Replace all occurences of ${activemq.base}/conf with {$activemq.conf} in all
XML configuration files (including those in webapps/ folder)
That way one can simply point to an external ActiveMQ conf folder by setting
the shell environment variable ACTIVE_CONFIG_DIR to that folder. It does not
have to be set in the bin/activemq script, it can be set directly on the shell.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira