Apache Camel-在启动时触发任务仅运行一次
我正在使用Camel&Spring进行Java项目。在Spring完成其工作并且Camel完成所有路径的构建之后,我们想在单例bean上触发一个initialize方法。
我们无法在类创建时调用该方法,因为它具有从@Component
spring批注中拾取的与其他类的动态链接,并且我们不知道何时/是否已加载这些类,而尚未真正将init方法作为a的一部分运行构造函数。
我如何才能在Camel启动完成后立即调用一个或多个只能运行一次的方法?
谢谢!
回答:
如果 在CamelContext启动所有路由等之后调用Bean ,那么您可以像Ben建议的那样使用带有计时器的路由。
更好的替代方法是使用Camel的EventNotifier
API。然后在被触发的CamelContextStartedEvent上调用逻辑。有关EventNotifier
API的一些详细信息,请参见:http : //camel.apache.org/eventnotifier-to-log-
details-about-all-sent-exchanges.html
以上是 Apache Camel-在启动时触发任务仅运行一次 的全部内容, 来源链接: utcz.com/qa/409570.html