0

高级要求如下:我有一个输入表(INPUT),我应该从中读取数据,将其发送到外部服务进行验证,并在输出表中更新验证响应。基于各种样本,我已经实现了这个。

但是,输入表是扁平结构。即,例如:一个学生表,其中有一个学生的多个考试结果。当我发送它进行验证时,我必须检索一个学生的所有记录并将其发送以进行验证。另一个问题是并行处理。访问外部服务会有一些网络延迟,我们希望对读取、处理和写入或处理和写入进行并行处理。

我想知道可行的 Readers、Writers 和处理器在哪里可以做到这一点。

请帮我。

4

1 回答 1

0

我建议您创建一个阅读器,它将从表中读取您的数据。生成的单个元素(在我的其余解释中命名为 E)必须能够发送到您的验证服务。

然后编写一个具有先前参数 E 的处理器。它调用您的验证服务。验证的结果将是您的处理器(名为 O)的输出。

最后,创建一个 Writer,它将一个 O 作为参数,其作用是将最终数据写入数据库。

并行处理将通过 Spring 配置使用ThreadPoolTask​​Executor完成。重要的部分是以线程安全的方式编写您的 Reader、Processor 和 Writer。

为了获得更好的性能,您还应该检查参数commit-interval(在 Writer 上),如果您使用 Hibernate,请检查其批量容量(我通常通过批量插入/更新 25-30 个请求来找到最佳性能)。

于 2012-07-30T20:10:20.863 回答