Hi

The problem was a STUPID generics-misspelling of mine:

  extends NoOutputDefinition<Type>

instead of:

  extends NoOutputDefinition<WireTapDefinition&lt;Type>>

I did resolve the JIRA ticket you opened for this today, as well verified
that the "Camel In Action" test being mentioned now passes WITHOUT using
end().

Babak


Claus Ibsen-2 wrote
> 
> Hi
> 
> I have digged a bit more.
> 
> The Camel Java DSL is not 100% compatible with the 2.9 branch.
> Commit rev 1244769 which is a compiler cleanup attempt had a side
> effect of causing the wire tap java dsl to break in certain
> situations.
> http://svn.apache.org/viewvc?rev=1244769&view=rev
> 
> This commit has only been done on trunk, and blocked for 2.9 and 2.8
> branches. So it only affect the new 2.10 RC.
> 
> Here is an example of a working DSL in Camel 2.9 or older
> 
>                 from("file://target/rider/orders")
>                         .wireTap("seda:audit")
>                         .bean(OrderCsvToXmlBean.class)
>                         .to("jms:queue:orders");
> 
> 
> If you run this on Camel 2.10 you get this exception
> 
> java.lang.ClassCastException: org.apache.camel.model.WireTapDefinition
> cannot be cast to org.apache.camel.model.RouteDefinition
>       at camelinaction.AuditTest$1.configure(AuditTest.java:59)
>       at
> org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:322)
>       at
> org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:276)
>       at
> org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:262)
>       at
> org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:619)
>       at
> org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:298)
>       at
> org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:217)
>       at camelinaction.AuditTest.setUp(AuditTest.java:34)
> 
> 
> I dont think our end users is capable of understanding this, and how
> to resolve it. To fix this you need to use .end() on the wireTap which
> becomes
> 
>                 from("file://target/rider/orders")
>                         .wireTap("seda:audit").end() // need to end
> wireTap
>                         .bean(OrderCsvToXmlBean.class)
>                         .to("jms:queue:orders");
> 
> Then it works.
> 
> Since the 1244769 is not fixing any bugs etc. Then I think we should
> revert the changes that affects the Java DSL (eg the changes in the
> model package). Then we can be 100% backwards compatible in the Java
> DSL.
> 
> We may be able to only revert the change on the wire tap, as by
> looking at this commit, its the only one that is changed to have type
> on
>  extends NoOutputDefinition<Type>
> 
> where as the others are
>  extends NoOutputDefinition
> 
> 
> Any thoughts?
> 
> 
> 
> 
> On Thu, Jun 21, 2012 at 2:01 PM, Claus Ibsen &lt;claus.ibsen@&gt; wrote:
>> Hi
>>
>> I upgraded the source code for Camel in Action book, and gave the
>> 2.10.0 a test spin.
>>
>> The few migration pains was that camel-test dependency is now
>> camel-test-spring if you use Spring for testing.
>> This is expected and also on the release notes.
>>
>> The issue I found is that the DSL for the WireTap has changed and I
>> got a ClassCastException.
>> I will dig into this later when I got some time.
>>
>>
>> On Wed, Jun 20, 2012 at 7:55 PM, Hadrian Zbarcea &lt;hzbarcea@&gt; wrote:
>>> A new release candidate apache-camel-2.10.0 final is out with
>>> approximately
>>> 473 issues resolved so far: improvements and bug fixes [1].
>>>
>>> Please find the staging repo here:
>>> https://repository.apache.org/content/repositories/orgapachecamel-251/
>>>
>>> The tarballs are here
>>> https://repository.apache.org/content/repositories/orgapachecamel-251/org/apache/camel/apache-camel/2.10.0/
>>>
>>> Tag:
>>> http://svn.apache.org/repos/asf/camel/tags/camel-2.10.0/
>>>
>>> Please review, help out with testing and vote to approve this release
>>> binary. Your vote counts!
>>>
>>> [ ] +1 Release the binary as Apache Camel 2.10.0
>>> [ ] -1 Veto the release (provide specific comments)
>>> Vote is open for at least 72 hours.
>>>
>>> Here's my +1.
>>> Hadrian
>>>
>>> [1]
>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&version=12317612
>>>
>>> --
>>> Hadrian Zbarcea
>>> Principal Software Architect
>>> Talend, Inc
>>> http://coders.talend.com/
>>> http://camelbot.blogspot.com/
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> 


--
View this message in context: 
http://camel.465427.n5.nabble.com/VOTE-Release-Apache-Camel-2-10-0-tp5714768p5714973.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to