BTW The message in the Exception could be more clear. It is not obvious what "Root node with no active block" is ;)
Roman 2009/6/10 Claus Ibsen <[email protected]>: > On Wed, Jun 10, 2009 at 1:09 PM, Peter Maas<[email protected]> wrote: >> Hi, >> >> I wondered what the purpose of the 'end' method in a route is. I sort of >> expected it to be a terminator for dead-end routes. But that doesn't seem to >> be the case. >> >> If I do something like this: >> >> from("direct:start") >> .process(new Processor(){ >> public void process(Exchange arg0) throws Exception { >> System.out.println("hello!"); >> } >> }) >> .end(); >> >> >> I get the following exception: >> >> >> java.lang.IllegalArgumentException: Root node with no active block >> at >> org.apache.camel.model.ProcessorDefinition.end(ProcessorDefinition.java:719) >> >> >> I currently 'terminate' such a route by using a non-existent direct >> endpoint, which works but raises a WARN messages... >> >> What is the preferred way to do this? > Not to use end() at all. > > They should only be used for some special EIP that kinda have sub > routes, such as > - aggregator > - splitter > and a few others > > So your route should just be: > from("direct:start") > .process(new Processor(){ > public void process(Exchange arg0) throws Exception { > System.out.println("hello!"); > } > }); > > > >> >> -P >> >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus >
