需要建议以创建新的计划流程

时间:2020-05-06 20:25:53

标签: java spring-boot rest soap scheduled-tasks

我需要有关在Spring Boot应用程序中创建计划任务的建议。我们的应用程序是一个订单管理门户,可以帮助用户了解有关订单或订单列表的详细信息。

当前,有一个手动过程,其操作如下:当新订单进入数据库时​​,用户将获取订单的一些信息,准备该订单的doc文件,然后通过电子邮件将其发送到外部门户。该门户网站通过电子邮件向用户发送响应,然后用户通过我们的应用程序将响应保存在系统中。现在,我们要使该过程自动化,在该过程中,我们将不进行电子邮件路由,而是对外部门户进行SOAP调用(将文档作为XML请求的附件发送)并返回响应。为此,我想编写一个调度的过程(@Scheduled),该过程将提取新订单并对它们进行SOAP调用。

我的问题是我应该在同一应用程序中创建计划的进程还是为其创建新的模块(spring boot应用程序)。感谢您的建议。

1 个答案:

答案 0 :(得分:0)

Spring启动调度非常方便,如果可以的话,请配合使用。但是,如果您有spring应用程序的多个实例,则将在所有实例上启用调度,这将导致难以同步谁在调用什么内容。

现在,如果您正在运行多个实例,并假设在它们前面有某种负载均衡器,则可以创建一个单独的cron作业,该作业将调用某个端点,并且负载均衡器会将请求路由到一个特定实例。

>

但是对于乘法实例,最干净的方法可能是使用某种消息传递,例如队列。然后,所有应用程序都可以订阅主题,而您的cron只需向其推送通知即可。

相关问题