Hey...

I had a similar requirement, and I discovered that you don't even have to
specify the routeBuilder as a reference point.  In other words, by the mere
fact that you defined an object that is a RouteBuilder in your spring file,
it will automagically be added as a valid route within the Camel Context.

I thought that this was a pretty nifty feature.

Later.

On Wed, Dec 10, 2008 at 9:52 PM, Willem Jiang <[EMAIL PROTECTED]>wrote:

> Hi Doug
>
> Thanks for pointing out the issue.
> I just update the wiki page[1] for it .
>
> [1] http://cwiki.apache.org/confluence/display/CAMEL/Spring
>
> Willem
>
>
> dougly wrote:
> > Hi William,
> > Thanks for creating the JIRA.
> > But I just looked at the xsd schema for camel context and discovered that
> > camelContext can take a reference to the route builder bean! I did follow
> > that and it works fine. Here's how:
> >
> > <camelContext id='' xmlns="..">
> >    <routeBuilderRef ref="myBuilder" />
> > </camelContext>
> >
> > <bean id="myBuilder" class="..."></bean>
> >
> > I will update the JIRA with this info.
> >
> > Thanks and regards,
> >
> > Doug
> >
> >
> > willem.jiang wrote:
> >> It's an interesting requirement.
> >> Basically camel will search <package> to lookup the builder class and
> >> instantiate it, and you build up a MailRouteBuilder yourself in Spring
> >> configuration by injecting some properties.
> >>
> >> I think we could add new feature to let <camelContext> consumer the
> >> builder instance at same time.
> >>
> >> Here is the JIRA[1] that I just created according to your request.
> >>
> >> [1]https://issues.apache.org/activemq/browse/CAMEL-1179
> >>
> >> Willem
> >>
> >> dougly wrote:
> >>> Hi riders,
> >>>
> >>> I have a couple of properties in my RouteBuilder class that needed to
> be
> >>> initialized using Spring application context file.
> >>>
> >>> public class MailRouteBuilder extends RouteBuilder
> >>> {
> >>>
> >>>     private static MailConfigure mailConfig;
> >>>     private static IEmailMessageProcessor messageProcessor;
> >>> ...
> >>> }
> >>>
> >>> then in my Spring context file I have this
> >>>
> >>> <camelContext xmlns="http://activemq.apache.org/camel/schema/spring";>
> >>>     <package>com.lyfam.component.mail</package>
> >>>   </camelContext>
> >>>
> >>>   <bean id="mailRoute"
> class="com.lyfam.component.mail.MailRouteBuilder">
> >>>     <property name="mailConfig" ref="mailConfigure" />
> >>>     <property name="messageProcessor" ref="messageProcessor" />
> >>>   </bean>
> >>>
> >>> Spring will try to create 2 instances of this MailRouteBuilder: one in
> >>> the
> >>> camel context initialization and the other for the bean "mailRoute".
> >>> Obviously, this is not what I want.
> >>> Can I reuse/instruct camelContext to use the existing bean after it is
> >>> configured. In this case I need the camel context to use my "mailRoute"
> >>> bean.
> >>>
> >>> Thank you guys,
> >>> Doug
> >>
> >>
> >
>
> Carlus Henry

Reply via email to