Heya,
Actually, I prefer to create my routes explicitly in the spring file
and then use routeBuilderRef. This allows me to inject configuration
values into the route before the configure() method is called. If you
use the more dynamic package approach then the routes are created
using a default constructor so you can't configure em'! Unless some
can think of a neat way to do it that I've missed?
/Ade
On 11 Dec 2008, at 17:44, Carlus Henry wrote:
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
---
Adrian Trenaman, Consultant Fellow, PS - Opensource Center of Competence
Progress Software Corp
Shelbourne Road, Dublin 4, Ireland
---
+353-1-637-2659 (Office)
+353-1-637-2882 (Fax)
+353-86-6051026 (Mobile)
adrian.trenaman (Skype)
----
Blog: http://trenaman.blogspot.com