I deploy this as a war to Tomcat and use a single applicationContext.xml to start camel like:
*<import resource="classpath:META-INF/spring/camel-context.xml"/> <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring"> <!-- The routes are defined in --> <package>com.servepath.gogrid.changerequest</package> </camelContext> * The same as in my applicationContext-test.xml except I do not include any routing declarations as I have my test create the route like: public void setRoutes(final String inputUri, final Processor processor) throws Exception { // Add Routes to Camel Context camelContext.addRoutes(new RouteBuilder() { public void configure() { from(inputUri) .errorHandler( deadLetterChannel(MOCK_OUTPUT_DESTINATION_URI) .loggingLevel(LoggingLevel.TRACE) ) .process(changeRequestController) .to(MOCK_OUTPUT_DESTINATION_URI); } }); }//setRoutes PS, where can I find this camel TestNG component you are talking about? On Mon, Sep 29, 2008 at 10:34 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: > Hi > > I think it could be how you start camel. When you deploy to Jetty do you > deploy it as OSGi bundles, or as a web application? > > Either way then its usually Spring that is starting up as normal and it > will starup Camel properly. > > I am not sure this is happening correctly in your unit tests. > > Your BaseCamelTestNG class also starts Camel. It is only supposed to be > started once. As well as stopped, let Spring handle this. > > There must be a hook somewhere where you can add your routes. However we > use either plain junit or spring junit based in the testing of camel itself > - not TestNG so I am afraid I have not used it that much. > > Could you check out the camel-testng component. It might have some pointers > there. > > > Med venlig hilsen > > Claus Ibsen > ...................................... > Silverbullet > Skovsgårdsvænget 21 > 8362 Hørning > Tlf. +45 2962 7576 > Web: www.silverbullet.dk > > -----Original Message----- > From: Mick Knutson [mailto:[EMAIL PROTECTED] > Sent: 29. september 2008 19:26 > To: camel-user@activemq.apache.org > Subject: Re: issue routing Exchange to custom method in Processor > > I have seperated them and that solves the first item. Thanks. > But I still can't seem to get my errorMock to work. > > But when I deploy this to Jetty, the route and errors act as expected. > > > On Mon, Sep 29, 2008 at 10:22 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: > > > Hi > > > > I don't think you should have both @MessageDriven and Processor in the > same > > java class. You should separate these two. This is not commonly used. > > > > > > Med venlig hilsen > > > > Claus Ibsen > > ...................................... > > Silverbullet > > Skovsgårdsvænget 21 > > 8362 Hørning > > Tlf. +45 2962 7576 > > Web: www.silverbullet.dk > > -----Original Message----- > > From: Mick Knutson [mailto:[EMAIL PROTECTED] > > Sent: 29. september 2008 18:12 > > To: Camel; Active MQ > > Subject: Re: issue routing Exchange to custom method in Processor > > > > Can someone help me? > > > > On Fri, Sep 26, 2008 at 3:10 PM, Mick Knutson <[EMAIL PROTECTED] > > >wrote: > > > > > The funny thing is, when I have an error with the message coming from > > this > > > queue, which I do because process(Exchange) does not expect my message > > body, > > > the message gets routed to the proper deadLetter channel. > > > > > > > > > > > > > > > On Fri, Sep 26, 2008 at 12:22 PM, Mick Knutson <[EMAIL PROTECTED] > > >wrote: > > > > > >> I have a Processor with 2 different methods: > > >> > > >> The standard: > > >> *public void process(Exchange exchange) { > > >> * > > >> > > >> and a custom: > > >> > > >> [EMAIL PROTECTED](uri = Constants.CHANNEL_GG_CS_COMMAND_STATUS) > > >> public void onMessage(Exchange exchange) * > > >> > > >> Now here is my route: > > >> > > >> * from(Constants.CHANNEL_GG_CS_CR_ADD) > > >> .errorHandler( > > >> > > >> deadLetterChannel(Constants.CHANNEL_GG_CS_CR_ADD_ERROR) > > >> //.maximumRedeliveries(2) > > >> //.initialRedeliveryDelay(1) > > >> .loggingLevel(LoggingLevel.DEBUG) > > >> ).processRef("changeRequestController") > > >> .to(Constants.CHANNEL_GG_CS_COMMAND_CLUSTER); > > >> > > >> > > >> // Route for command status updates. > > >> from(Constants.CHANNEL_GG_CS_COMMAND_STATUS) > > >> .errorHandler( > > >> > > >> > > > deadLetterChannel(Constants.CHANNEL_GG_CS_COMMAND_STATUS_ERROR).maximumRedeliveries(2) > > >> .initialRedeliveryDelay(1) > > >> .loggingLevel(LoggingLevel.INFO) > > >> > > ).to("bean:changeRequestController?methodName=onMessage"); > > >> * > > >> > > >> So when I get a message on *Constants.CHANNEL_GG_CS_CR_ADD my > > >> process(Exchange) method is called, and that rout is fine. > > >> > > >> However, I get a response message back on > > **Constants.CHANNEL_GG_CS_COMMAND_STATUS > > >> but it is also processed by *the *process(Exchange) instead of my > > >> onMessage**(Exchange)* > > >> > > >> I have tried @MessageDriven annotation as well as the route builder > but > > >> neither works. > > >> > > >> Am I forced to have each process in a single class? > > >> > > >> > > >> > > >> -- > > >> --- > > >> Thank You... > > >> > > >> Mick Knutson > > >> BASE Logic, inc. > > >> (415) 354-4215 > > >> > > >> Website: http://baselogic.com > > >> Blog: http://baselogic.com/blog > > >> BLiNC Magazine: http://blincmagazine.com > > >> Linked IN: http://linkedin.com/in/mickknutson > > >> DJ Mick: http://djmick.com > > >> MySpace: http://myspace.com/mickknutson > > >> Vacation Rental: http://tahoe.baselogic.com > > >> > > >> > > > > > > > > > -- > > > --- > > > Thank You... > > > > > > Mick Knutson > > > BASE Logic, inc. > > > (415) 354-4215 > > > > > > Website: http://baselogic.com > > > Blog: http://baselogic.com/blog > > > BLiNC Magazine: http://blincmagazine.com > > > Linked IN: http://linkedin.com/in/mickknutson > > > DJ Mick: http://djmick.com > > > MySpace: http://myspace.com/mickknutson > > > Vacation Rental: http://tahoe.baselogic.com > > > > > > > > > > > > -- > > --- > > Thank You... > > > > Mick Knutson > > BASE Logic, inc. > > (415) 354-4215 > > > > Website: http://baselogic.com > > Blog: http://baselogic.com/blog > > BLiNC Magazine: http://blincmagazine.com > > Linked IN: http://linkedin.com/in/mickknutson > > DJ Mick: http://djmick.com > > MySpace: http://myspace.com/mickknutson > > Vacation Rental: http://tahoe.baselogic.com > > > > > > -- > --- > Thank You... > > Mick Knutson > BASE Logic, inc. > (415) 354-4215 > > Website: http://baselogic.com > Blog: http://baselogic.com/blog > BLiNC Magazine: http://blincmagazine.com > Linked IN: http://linkedin.com/in/mickknutson > DJ Mick: http://djmick.com > MySpace: http://myspace.com/mickknutson > Vacation Rental: http://tahoe.baselogic.com > -- --- Thank You… Mick Knutson BASE Logic, inc. (415) 354-4215 Website: http://baselogic.com Blog: http://baselogic.com/blog BLiNC Magazine: http://blincmagazine.com Linked IN: http://linkedin.com/in/mickknutson DJ Mick: http://djmick.com MySpace: http://myspace.com/mickknutson Vacation Rental: http://tahoe.baselogic.com