我是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
}
}
先谢谢。
答案 0 :(得分:1)
getCamelContext().stopRoute("cmpCreatorRoute");
getCamelContext().startRoute("cmpCreatorRoute");
会做到这一点。
答案 1 :(得分:0)
在Camel网站上有一个入门部分。阅读它及其提供的链接是一个好主意,以获得更多的Camel知识。
例如,有一个链接可以逐步介绍此示例: http://camel.apache.org/walk-through-an-example.html
然后,您可以找到有关“触发路线”的详细信息