camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From François LAROCHE (JIRA) <j...@apache.org>
Subject [jira] [Created] (CAMEL-8783) Transacted not working correctly in scala
Date Tue, 19 May 2015 21:20:00 GMT
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)

Mime
View raw message