Couldn't you use @BeanInject to put the RouteBuilder in your CBTS class,
then return that bean in the createRouteBuilder() method? Just put the
RouteBuilder in the blueprint file.

On 5 August 2016 at 21:41, Quinn Stevenson <qu...@pronoia-solutions.com>
wrote:

> I normally override createRegistry() and add my beans to the registry
> there - something like this
> \
> @Override
> protected JndiRegistry createRegistry() throws Exception {
>    JndiRegistry registry = super.createRegistry();
>
>    registry.bind( "bean-name", new MyBean());
>
>    return registry;
> }
>
>
> > On Aug 4, 2016, at 2:06 PM, Brad Johnson <brad.john...@mediadriver.com>
> wrote:
> >
> > Fired the email before I finished....Obviously the MyValidator class
> hasn't
> > been instantiated or made available as it would be in Spring, CDI or
> > Blueprint.  So I need to add it to the registry.
> >
> > I can get the JndiRegistry from the PPDRegistry and call bind on it with
> > name/bean but don't know if that will really work or if there's an easier
> > way.
> >
> >
> > public class MyRouteBuilder extends RouteBuilder {
> > public void configure() {
> >                from("direct:start").filter().method("MyValidator")
> > .to("mock:result");
> >            }
> >        };
> >
> > }
> >
> > On Thu, Aug 4, 2016 at 3:03 PM, Brad Johnson <
> brad.john...@mediadriver.com>
> > wrote:
> >
> >> Is there an easy way to inject a bean in the CamelTestSupport that is
> >> required by a RouteBuilder?
> >>
> >> Looking at the CBTS example I'll modify it a bit:
> >>
> >> public class FilterTest extends CamelTestSupport {
> >>
> >>    @EndpointInject(uri = "mock:result")
> >>    protected MockEndpoint resultEndpoint;
> >>
> >>    @Produce(uri = "direct:start")
> >>    protected ProducerTemplate template;
> >>
> >>    @Override
> >>    public boolean isDumpRouteCoverage() {
> >>        return true;
> >>    }
> >>
> >>    @Test
> >>    public void testSendMatchingMessage() throws Exception {
> >>        String expectedBody = "<matched/>";
> >>
> >>        resultEndpoint.expectedBodiesReceived(expectedBody);
> >>
> >>        template.sendBodyAndHeader(expectedBody, "foo", "bar");
> >>
> >>        resultEndpoint.assertIsSatisfied();
> >>    }
> >> @Override
> >>    protected RouteBuilder createRouteBuilder() {
> >>        return MyRouteBuilder()
> >>    }
> >> }
> >>
> >> public class MyRouteBuilder extends RouteBuilder {
> >> public void configure() {
> >>                from("direct:start").filter(header("foo").
> >> isEqualTo("bar")).to("mock:result");
> >>            }
> >>        };
> >>
> >> }
> >>
> >>
>
>


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to