获取camelcontext后如何触发任务?

时间:2013-09-04 14:21:29

标签: java spring apache-camel

我是Apache Camel框架的新手。我已将camelcontext bean(即带有id camel)注入CreationImpl,并且能够从该camelcontext对象访问端点和路由。我想知道如何触发任务。我不知道这是否正确?请建议。

<camel:camelContext id="camel">
        <camel:jmxAgent id="agent" createConnector="true" usePlatformMBeanServer="true" connectorPort="1516" registryPort="1515" />
        <camel:endpoint id="email" uri="${email}" />

        <camel:route errorHandlerRef="createErrorHandler" id="createRoute">
            <camel:from uri="direct:startReading"/>
            <camel:doTry>
                <camel:bean ref="creationProcessor" method="method1"/>
                <camel:bean ref="creationFilter" method="method2"/>
                <camel:bean ref="creatorFeedback" method="method3"/>
                <camel:bean ref="creatorFeedback" method="method4"/>
                <camel:doCatch>
                    <camel:exception>java.lang.Exception</camel:exception>
                    <camel:bean ref="creatorFeedback" method="method5"/>
                </camel:doCatch>
            </camel:doTry>
        </camel:route>
</camel:camelContext>

public class CreationImpl{
    private CamelContext camelContext;
    public void migrate{
        //how to trigger the route after getting camelcontext object
    }
}

先谢谢。

2 个答案:

答案 0 :(得分:1)

getCamelContext().stopRoute("cmpCreatorRoute");
getCamelContext().startRoute("cmpCreatorRoute");

会做到这一点。

答案 1 :(得分:0)

在Camel网站上有一个入门部分。阅读它及其提供的链接是一个好主意,以获得更多的Camel知识。

例如,有一个链接可以逐步介绍此示例: http://camel.apache.org/walk-through-an-example.html

然后,您可以找到有关“触发路线”的详细信息