You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Lionel Cons (JIRA)" <ji...@apache.org> on 2011/03/29 14:06:05 UTC

[jira] [Commented] (AMQ-3248) Allow for easy externalization of ActiveMQ configuration

    [ https://issues.apache.org/jira/browse/AMQ-3248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13012447#comment-13012447 ] 

Lionel Cons commented on AMQ-3248:
----------------------------------

Currently we have in the activemq script:

  activemq.home = ${ACTIVEMQ_HOME}
  activemq.base = ${ACTIVEMQ_BASE}

It would make sense to use ACTIVEMQ_CONF instead of ACTIVEMQ_CONFIG_DIR to have the more natural:

  activemq.conf = ${ACTIVEMQ_CONF}

And while at it, we could also add:

  activemq.data = ${ACTIVEMQ_DATA}

This would allow to use for instance <kahaDB directory="${activemq.data}/kahadb"/> instead of <kahaDB directory="${activemq.base}/data/kahadb"/>.


> 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
>              Labels: configuration
>         Attachments: AMQ-3248.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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