Yes. as showed in my initial email posted.

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com


On Tue, Jun 9, 2009 at 1:00 PM, Claus Ibsen <[email protected]> wrote:

> On Tue, Jun 9, 2009 at 12:03 PM, Charles Moulliard<[email protected]>
> wrote:
> > Complement of information :
> >
> > The service (which is packaged as bundle and is deployed as a spring OSGI
> > service) publish the interface
> >
> > <osgi:service ref="requestService"
> > interface="com.xpectis.x3s.platform.service.RequestService"/>
> >
> > while the class implementing the service is declared private and of
> course
> > is instantiated locally by spring.
> >
> > So we have two different bundles :
> >
> > A) one containing the routing and where camelContext is created
> >
> > B) the other which is the service
> >
> > Question : Can the following method of the bundle B) called while the
> > camelcontext runs in the bundle A)  ?
>
> How does you route invoke this bean? Are you refering to it using the
> spring bean id?
>
>
> >
> >    @Handler
> >    public void createRequest(@Header(value = "messageType") String
> > messageType, @Body String body, Exchange exchange) {
> >
> >        // Instantiate the Request class
> >        Request request = new Request();
> >
> >        // Add the CSV records to the body field
> >        request.setMessageContent(body.getBytes());
> >
> >        // Save the request in the DB
> >        this.saveRequest(request);
> >
> >        // add the request object to the exchange
> >        exchange.getOut().setBody(request);
> >
> >    }
> >
> > Regards,
> >
> > Charles Moulliard
> > Senior Enterprise Architect
> > Apache Camel Committer
> >
> > *****************************
> > blog : http://cmoulliard.blogspot.com
> >
> >
> > On Tue, Jun 9, 2009 at 11:28 AM, Claus Ibsen <[email protected]>
> wrote:
> >
> >> Hi
> >>
> >> Could be OSGi related. Can you try without OSGi.
> >> Just to get the fact straight.
> >>
> >> And I assume you use 2.0-SNAPSHOT.
> >>
> >>
> >> On Tue, Jun 9, 2009 at 11:18 AM, Charles Moulliard<[email protected]
> >
> >> wrote:
> >> > Hi,
> >> >
> >> > When I use the following route :
> >> >
> >> >        <camel:route>
> >> >            <camel:from ref="queueClientInEndpoint" />
> >> >            <camel:choice>
> >> >                <camel:when>
> >> >                    <camel:simple>${in.header.messageType} ==
> >> > 'OINP'</camel:simple>
> >> >                    <!-- Call the requestService to save the request
> -->
> >> >                    <camel:bean ref="requestService"/>
> >> >                </camel:when>
> >> >                ....
> >> >
> >> >    <!-- Request Service  -->
> >> >    <osgi:reference id="requestService"
> >> > interface="com.xpectis.x3s.platform.service.RequestService" />
> >> >
> >> >    @Handler
> >> >    public void createRequest(@Header(value = "messageType") String
> >> > messageType, @Body String body, Exchange exchange) {
> >> >
> >> >        // Instantiate the Request class
> >> >        Request request = new Request();
> >> >
> >> >        // Add the CSV records to the body field
> >> >        request.setMessageContent(body.getBytes());
> >> >
> >> >        // Save the request in the DB
> >> >        this.saveRequest(request);
> >> >
> >> >        // add the request object to the exchange
> >> >        exchange.getOut().setBody(request);
> >> >
> >> >    }
> >> >
> >> > , camel generates the following error :
> >> >
> >> > Caused by: java.lang.NullPointerException
> >> >    at
> >> >
> >>
> org.apache.camel.component.bean.MethodInfo$2.evaluate(MethodInfo.java:197)
> >> >    at
> >> >
> >>
> org.apache.camel.component.bean.MethodInfo.createMethodInvocation(MethodInfo.java:81)
> >> >    at
> >> >
> >>
> org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:151)
> >> >    at
> >> >
> >>
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:104)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:114)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:52)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:147)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:114)
> >> >    at
> >> >
> >>
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> >> >    at
> >> >
> >>
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:52)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:147)
> >> >    at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> >> >    at
> >> >
> >>
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> >> >    at
> >> >
> >>
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:81)
> >> >
> >> > Is the problem related to the fact that camel can't find the method
> where
> >> > @handler has been defined ?
> >> >
> >> > Charles Moulliard
> >> > Senior Enterprise Architect
> >> > Apache Camel Committer
> >> >
> >> > *****************************
> >> > blog : http://cmoulliard.blogspot.com
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> Apache Camel Committer
> >>
> >> Open Source Integration: http://fusesource.com
> >> Blog: http://davsclaus.blogspot.com/
> >> Twitter: http://twitter.com/davsclaus
> >>
> >
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Reply via email to