You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "François LAROCHE (JIRA)" <ji...@apache.org> on 2015/08/24 14:49:46 UTC
[jira] [Reopened] (CAMEL-8783) Transacted not working correctly in
scala
[ https://issues.apache.org/jira/browse/CAMEL-8783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
François LAROCHE reopened CAMEL-8783:
-------------------------------------
I have tested today with 2.15.3 and I still get the same issues.
I have tried the following dsl nodes :
transacted(uri: String) // something seems wrong with this node, since the code states : def transacted(uri: String) = stack.top.transacted in org.apache.camel.scala.dsl.builder.RouteBuilder:198
transacted
policy(policy: Policy)
all these tries give me a no processor exception.
GL with them !
> Transacted not working correctly in scala
> -----------------------------------------
>
> Key: CAMEL-8783
> URL: https://issues.apache.org/jira/browse/CAMEL-8783
> Project: Camel
> Issue Type: Bug
> Components: camel-scala
> Affects Versions: 2.15.2
> Reporter: François LAROCHE
> Assignee: Willem Jiang
> Fix For: 2.14.3, 2.15.3, 2.16.0
>
>
> When I try to use transacted in a scala route, I get an error and the camel context doesn't start.
> The error states that there is no output in route.
> After some time watching at the code with different breakpoints, I noticed :
> In org.apache.camel.scala.dsl.builder.RouteBuilder (l199) the transacted with URI doesn't call the stack.top.transacted with the URI parameter.
> Even with this done, it still gives the same error :
> "Route myRoute has no output processors. You need to add outputs to the route such as to("log:foo")."
> even when my route is as simple as :
> "direct:something" ==> {
> routeId("log:foo")
> transacted("SomeStrategy")
> --> ("log:foo")
> }
> After some more debug, I saw that the output list for the transacted node stays empty, so my guess is that, in the org.apache.camel.scala.dsl.SAbstractDefinition class, the line def transacted(ref: String) = wrap(target.transacted(ref)) should return something else to handle outputs.
> Since I can mix java and scala routes, there are workarounds, but still, now that I've gotten used to scala routes, I don't really want to go back to java routes ;)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)