我想从REST服务中获取文档,使用Spring Batch处理,然后发送到其他REST服务,而不将任何内容保存到任何数据库中。
考虑到每个Step
需要ItemReader
和ItemWriter
,我想我需要实现一个ItemReader
来从输入服务下载文档,一个{{1} },它将以某种方式将中间结果存储在内存中,然后是ItemWriter
,它将从内存中读取结果以用于下一步;最后一个ItemReader
将在所有处理完成后发送结果。
这是个好方法还是有人有更好的主意?
答案 0 :(得分:0)
我想从REST服务中获取文档,使用Spring Batch处理,然后发送给其他REST服务
您可以在一个面向块的步骤中进行操作。读取器从REST服务中获取数据,处理器用于处理数据,并写入数据以将数据发布到其他REST服务。
不将任何内容保存到任何数据库。
即使您不想将任何内容保存到数据库(我想您的意思是保存到单独的数据库服务器),您仍然可以使用内存数据库并将中间处理结果保存到登台表。第一步将从REST服务获取数据,对其进行处理并将其写入登台表。第二步从登台表中读取数据并将其发送到第二个REST服务。该技术的优点是,您可以在开始第二步之前对登台表上的处理结果进行汇总。
这是个好方法还是有人有更好的主意?
第三种方法是使用暂存内存java.util.Queue
。在这里,您可以像使用登台表一样使用两个步骤,但是将队列用作登台存储。
希望这会有所帮助。