Spring-Batch会干扰Apache Camel

时间:2016-03-09 10:42:02

标签: spring apache-camel spring-batch

我正在使用Spring-Batch V3.0.6与Spring V4.2.4和Apache Camel 2.16.2,并且在我的配置中,每次Spring批处理作业(JSR API)停止时,它都会停止我的Camel上下文!可能是因为我的配置,我会尝试解释。

首先,我只使用JSR API而不是本机Spring Batch API。为了能够在作业定义(JSR XML)中调用/使用Spring bean,我配置了Spring-Batch上下文加载共享上下文(由ContextLoaderListener加载)。在该共享上下文中,我通过Spring-Camel标签定义了CamelContext(以便能够轻松地在camel路由中使用Spring bean)。

当没有任何工作运行时,我们没有任何问题,Camel路线启动并完美运行。一旦作业开始并停止,问题就会开始。实际上,似乎当作业开始时尝试启动并且当作业结束时,它会通过发送由CamelContext处理的“ContextClosedEvent”来停止Camel上下文。从这一刻起,Camel只有在工作正在运行时才会启动。

我可以在配置和/或代码中修改哪些内容使其工作并让我的Camel上下文?我可能错误地配置了共享上下文。

0 个答案:

没有答案