You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Dejan Bosanac (JIRA)" <ji...@apache.org> on 2010/09/06 15:31:43 UTC

[jira] Resolved: (AMQ-2203) Duplication of Camel routes in activemq.xml and applicationContext.xml for Camel web app.

     [ https://issues.apache.org/activemq/browse/AMQ-2203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dejan Bosanac resolved AMQ-2203.
--------------------------------

    Resolution: Fixed

Fixed with svn revision 993024.

web console application context now imports conf/camel.xml

Thanks for spotting this.

> Duplication of Camel routes in activemq.xml and applicationContext.xml for Camel web app.
> -----------------------------------------------------------------------------------------
>
>                 Key: AMQ-2203
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2203
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0
>            Reporter: Jim Gomes
>            Assignee: Dejan Bosanac
>             Fix For: 5.4.1
>
>
> It appears that there are now duplicate configuration points for Camel routes.  In the *activemq.xml* configuration file, the following configuration exists:
> {noformat}
>     <!--
>     ** Lets deploy some Enterprise Integration Patterns inside the ActiveMQ Message Broker
>     ** For more details see
>     **
>     ** http://activemq.apache.org/enterprise-integration-patterns.html
>     -->
>     <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
>         <!-- You can use a <package> element for each root package to search for Java routes -->
>         <package>org.foo.bar</package>
>         <!-- You can use Spring XML syntax to define the routes here using the <route> element -->
>         <route>
>             <from uri="activemq:example.A"/>
>             <to uri="activemq:example.B"/>
>         </route>
>     </camelContext>
>     <!--
>     ** Lets configure some Camel endpoints
>     **
>     ** http://activemq.apache.org/camel/components.html
>     -->
>     <!-- configure the camel activemq component to use the current broker -->
>     <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
>         <property name="connectionFactory">
>           <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>             <property name="brokerURL" value="vm://localhost?create=false&amp;waitForStart=10000" />
>             <property name="userName" value="${activemq.username}"/>
>             <property name="password" value="${activemq.password}"/>
>           </bean>
>         </property>
>     </bean>
> {noformat}
> This is duplicated in the *webapps\camel\WEB-INF\applicationContext.xml* file:
> {noformat}
>   <camelContext xmlns="http://camel.apache.org/schema/spring">
>     <route>
>         <from uri="activemq:example.A"/>
>         <to uri="activemq:example.B"/>
>     </route>
>   </camelContext>
>   <!-- configure the camel activemq component to use the current broker -->
>   <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
>     <property name="exposeAllQueues" value="true"/>
>       <property name="connectionFactory">
>         <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>           <property name="brokerURL" value="vm://localhost?create=false&amp;waitForStart=10000" />
>           <property name="userName" value="${activemq.username}"/>
>           <property name="password" value="${activemq.password}"/>
>         </bean>
>       </property>
>   </bean>
> {noformat}
> The net effect of this is that when the broker is launched, there will be two consumers routing messages from example.A to example.B.  At best, this causes unnecessary overhead.  If a user edits the *activemq.xml* file to remove the route information, they think they have removed this camel route.  However, when the broker is restarted, the route still exists, only now with a single consumer routing the messages.  To truly remove the route, the user must also edit the *applicationContext.xml*.
> If the configuration of Camel routes is now being handled in the *applicationContext.xml* file, then the obsolete configuration should be removed from *activemq.xml* and documentation should be updated.  In any case, the duplication of Camel routes in a default configuration should be eliminated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.