我愿意用Java构建同步服务。用例是,我从交换服务(通过Exchange Web服务)获取数据,稍微规范化数据(可能是进程),然后通过GraphQL将其写入后端。我已经看过弹簧模块了,但我不太清楚要使用哪些模块。我找到了弹簧批和弹簧石英。 同步必须触发所有X秒,从Exchange获取信息,查看后端中的内容并更新所需内容。
你们有什么建议吗?我之前开始在nodejs中实现这一切,但由于它必须同时在Windows服务器和Docker / Linux上运行,因此保持平稳运行真的很痛苦(主要是因为将nodejs捆绑到Windows应用程序很痛苦)
答案 0 :(得分:1)
Spring Batch&的区别石英:强>
Spring Batch和Quartz有不同的目标。 Spring Batch提供处理大量数据的功能,Quartz提供计划任务的功能。
因此,Quartz可以补充Spring Batch,常见的组合是使用Quartz作为使用 Cron 表达式的Spring Batch作业的触发器。
结论:所以基本上Spring Batch定义了应该做什么,Quartz定义了什么时候应该完成。
Quartz是一个调度框架。喜欢"每个小时或每个月的每个星期五执行一些事情"
Spring Batch是一个框架,用于定义"某些东西"将被执行。 您可以定义包含步骤的作业。通常,步骤由项目阅读器,可选项目处理器和项目编写器组成,但您可以定义自定义词干。您还可以告诉Spring批处理每10个项目和许多其他内容。
您可以使用Quartz来启动Spring Batch作业。
推荐用于您的用例: 您希望在特定间隔后触发石英计划。