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/08/16 10:18:49 UTC
[jira] Assigned: (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 reassigned AMQ-2203:
----------------------------------
Assignee: Dejan Bosanac
> 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&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&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.