You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2009/03/23 05:55:42 UTC
[jira] Created: (CAMEL-1477) RouteBuilderRef - does not work with
injected endpoints
RouteBuilderRef - does not work with injected endpoints
-------------------------------------------------------
Key: CAMEL-1477
URL: https://issues.apache.org/activemq/browse/CAMEL-1477
Project: Apache Camel
Issue Type: Bug
Components: camel-core, camel-spring
Affects Versions: 1.6.0
Reporter: Claus Ibsen
Assignee: Claus Ibsen
Fix For: 2.0.0, 1.6.1
When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
{code}
@EndpointInject(name = "data")
protected Endpoint data;
public void configure() throws Exception {
// configure a global transacted error handler
errorHandler(transactionErrorHandler(required));
from(data)
...
}
And the Spring DSL
{code}
<bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
<!-- Camel context -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<!-- use our route -->
<routeBuilder ref="route"/>
<!-- define our data endpoint as the activemq queue we send a message to -->
<endpoint id="data" uri="activemq:queue:data"/>
</camelContext>
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-1477) RouteBuilderRef - does not work with
injected endpoints
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-1477:
-------------------------------
Description:
When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
{code}
@EndpointInject(name = "data")
protected Endpoint data;
public void configure() throws Exception {
// configure a global transacted error handler
errorHandler(transactionErrorHandler(required));
from(data)
...
}
{code}
And the Spring DSL
{code:xml}
<bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
<!-- Camel context -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<!-- use our route -->
<routeBuilder ref="route"/>
<!-- define our data endpoint as the activemq queue we send a message to -->
<endpoint id="data" uri="activemq:queue:data"/>
</camelContext>
{code}
was:
When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
{code}
@EndpointInject(name = "data")
protected Endpoint data;
public void configure() throws Exception {
// configure a global transacted error handler
errorHandler(transactionErrorHandler(required));
from(data)
...
}
And the Spring DSL
{code}
<bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
<!-- Camel context -->
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<!-- use our route -->
<routeBuilder ref="route"/>
<!-- define our data endpoint as the activemq queue we send a message to -->
<endpoint id="data" uri="activemq:queue:data"/>
</camelContext>
{code}
> RouteBuilderRef - does not work with injected endpoints
> -------------------------------------------------------
>
> Key: CAMEL-1477
> URL: https://issues.apache.org/activemq/browse/CAMEL-1477
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core, camel-spring
> Affects Versions: 1.6.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.0.0, 1.6.1
>
>
> When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
> {code}
> @EndpointInject(name = "data")
> protected Endpoint data;
> public void configure() throws Exception {
> // configure a global transacted error handler
> errorHandler(transactionErrorHandler(required));
> from(data)
> ...
> }
> {code}
> And the Spring DSL
> {code:xml}
> <bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
> <!-- Camel context -->
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
> <!-- use our route -->
> <routeBuilder ref="route"/>
> <!-- define our data endpoint as the activemq queue we send a message to -->
> <endpoint id="data" uri="activemq:queue:data"/>
> </camelContext>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1477) RouteBuilderRef - does not work with
injected endpoints
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=50736#action_50736 ]
Claus Ibsen commented on CAMEL-1477:
------------------------------------
Okay its the *autowireRouteBuilders* attribute on camel context causing this.
Its kinda auto installing any beans in Spring DSL that is a route builder and thus we get our route 2x installed.
But the first time it cannot run the camel bean post processor that injects the Camel annotations.
So we need to @deprecated/remove this feature and rely only on people adding refs to it.
Also this feature is very questionable as end users want to have control of which routes is used.
> RouteBuilderRef - does not work with injected endpoints
> -------------------------------------------------------
>
> Key: CAMEL-1477
> URL: https://issues.apache.org/activemq/browse/CAMEL-1477
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core, camel-spring
> Affects Versions: 1.6.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.0.0, 1.6.1
>
>
> When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
> {code}
> @EndpointInject(name = "data")
> protected Endpoint data;
> public void configure() throws Exception {
> // configure a global transacted error handler
> errorHandler(transactionErrorHandler(required));
> from(data)
> ...
> }
> {code}
> And the Spring DSL
> {code:xml}
> <bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
> <!-- Camel context -->
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
> <!-- use our route -->
> <routeBuilder ref="route"/>
> <!-- define our data endpoint as the activemq queue we send a message to -->
> <endpoint id="data" uri="activemq:queue:data"/>
> </camelContext>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CAMEL-1477) RouteBuilderRef - does not work with
injected endpoints
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-1477.
--------------------------------
Resolution: Fixed
trunk: 757326
1.x: 757329
> RouteBuilderRef - does not work with injected endpoints
> -------------------------------------------------------
>
> Key: CAMEL-1477
> URL: https://issues.apache.org/activemq/browse/CAMEL-1477
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core, camel-spring
> Affects Versions: 1.6.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.0.0, 1.6.1
>
>
> When using *routeBuilderRef* instead of *package* to configure route builder in spring XML then the former does not work if you have eg endpoint defined as well and injected the endpoint using {{EndpointInjected}}
> {code}
> @EndpointInject(name = "data")
> protected Endpoint data;
> public void configure() throws Exception {
> // configure a global transacted error handler
> errorHandler(transactionErrorHandler(required));
> from(data)
> ...
> }
> {code}
> And the Spring DSL
> {code:xml}
> <bean id="route" class="org.apache.camel.itest.tx.JmsToHttpWithRollbackRoute"/>
> <!-- Camel context -->
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
> <!-- use our route -->
> <routeBuilder ref="route"/>
> <!-- define our data endpoint as the activemq queue we send a message to -->
> <endpoint id="data" uri="activemq:queue:data"/>
> </camelContext>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.