François LAROCHE created CAMEL-8783:
---------------------------------------
Summary: 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
Priority: Critical
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)