ThrowException must be a Throwable, not an interface.
On Fri, May 18, 2012 at 9:13 AM, m.jimen.blazquez <[email protected]> wrote: > Hi, > > I am trying to rethrow an excepcion in a <doTry><doCatch>. > > When I have this code: > > <bean id="forced" class="java.lang.IllegalArgumentException"> > <constructor-arg index="0" value="This is forced" /> > </bean> > > <camelContext id="camel-route" > xmlns="http://camel.apache.org/schema/spring"> > > <route id="routeId"> > <from > uri="cxfrs:/servicios?resourceClasses=myPackage.myEndpointService" /> > <doTry> > <bean ref="ref1" method="start"> > <doCatch> > <exception>java.lang.Exception</exception> > <throwException ref="forced" /> > </doCatch> > </doTry> > </route> > </camelContext> > > The exception is rethrown normally, but if I want the exception to be > rethrown by my own class registered as an osgi service: > > <osgi:reference id="exceptionManager" > interface="myOtherPackage.ExceptionManager" /> > > <camelContext id="camel-route" > xmlns="http://camel.apache.org/schema/spring"> > > <route id="routeId"> > <from > uri="cxfrs:/servicios?resourceClasses=myPackage.myEndpointService" /> > <doTry> > <bean ref="ref1" method="start"> > <doCatch> > <exception>java.lang.Exception</exception> > <throwException ref="exceptionManager" /> > </doCatch> > </doTry> > </route> > </camelContext> > > public interface ExceptionManager{ > > public void throwException(Exception e) throws Exception; > } > > I get the following exception: > > Caused by: java.lang.IllegalArgumentException: exception or ref must be > specified on: ThrowExc<throwException ref="exceptionManager" > />eption[ref:exceptionManager] > at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:296) > at > org.apache.camel.model.ThrowExceptionDefinition.createProcessor(ThrowExceptionDefinition.java:70) > at > org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:391) > at > org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:130) > > > Am I missing something? or this way of rethrowing only works with local > beans and no with osgi service references? > > kindest regards > > -- > View this message in context: > http://camel.465427.n5.nabble.com/throwException-ref-with-osgi-service-reference-tp5711762.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com FuseSource Email: [email protected] Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/
