骆驼来自直接阅读文件和流程

时间:2017-02-08 13:49:52

标签: apache-camel

我在骆驼中有几条平行路线。一个是读取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:我应该如何使用直接然后读取文件启动路线?

1 个答案:

答案 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()) .... “用于组合原始交换和资源交换”并且是可选的。如果没有提供,则资源交换主体(即,通过读取文件而产生的交换)将覆盖原始交换。

相关问题