我在骆驼中有几条平行路线。一个是读取SQL数据。一种是在磁盘上读取文件,然后与之前的sql数据进行比较。我需要运行第一个路径,并根据是否导入任何内容,运行路由2.
fromF("quartz2://mio/%s?cron={{route_1_cron}}", order).
log("Running data import...").
to("sql:{{sql_select}}").
choice().
when(body().isNull()).
stop().
when(body().isNotNull()).
bean(Utility.class,"incomingSqlData").
choice().when(header("status").isEqualTo(true).
to("direct:start").stop();
到目前为止,我很好。现在在第二条路线上我如何从(直接:开始)开始,然后从它的目录中读取文件?因为我不能从(直接).from(“file:..),因为那将从路由创建两个。 使用from(“direct:start”)。to(“file:...”)将尝试写入文件。
Tl:dr:我应该如何使用直接然后读取文件启动路线?
答案 0 :(得分:1)
要扩展@ noMad17评论,您可以使用内容丰富。因此,您的SpentTimeHours = _userStoryTaskRepository.FindFirstOrDefaultAsync(id => id.Aid == ids.Aid).Result.SpentTimeHours;
RemainingTimeHours = _userStoryTaskRepository.FindFirstOrDefaultAsync(id => id.Aid == ids.Aid).Result.RemainingTimeHours;
InitialEffortEstimateHours = _userStoryTaskRepository.FindFirstOrDefaultAsync(id => id.Aid == ids.Aid).Result.InitialEffortEstimateHours;
路线可能类似于:
from("direct:start")
这将提示您读取文件的路线。
请注意,from("direct:start")
.pollEnrich("file:...", new MyAggregationStrategy())
....
“用于组合原始交换和资源交换”并且是可选的。如果没有提供,则资源交换主体(即,通过读取文件而产生的交换)将覆盖原始交换。