我有一个Spring Boot应用程序,它在AngularJS页面上显示来自MongoDB的一些数据,并允许用户更改它。
现在我需要创建一个允许我
的机制我可以在Spring Boot应用程序的范围内实现吗?如果是的话,我可以使用Spring的哪些部分来做到这一点?
答案 0 :(得分:1)
我认为将批量处理嵌入到您的服务中并不是一个好主意暴露MongoDB数据存储。
我会创建单独的批处理应用程序。如果您使用Spring堆栈, Spring Batch将是自然选择。您需要弄清楚如何托管Spring Batch作业以及如何触发和计划它。 Spring Batch需要SQL存储才能获得元数据。
批处理的状态可以由另一个在Servlet容器上运行 Spring Batch Admin module的应用程序监控。如果您将此应用程序指向Spring Batch作业应用程序的SQL存储,则可以通过开箱即用的Web UI 监控状态。
当然它可以使用Spring Boot运行每个应用程序。
如果你不想处理这种操作复杂性,它会带来三个应用程序,你仍然可以所有三个嵌入到一个应用程序中,它可以正常使用Spring Boot 。您甚至可以手动执行带参数的作业,也可以通过配置为可以访问Spring Batch Job bean的Spring Batch Admin重新启动它们。
您还可以使用MongoDb作为Spring Batch元数据的存储进行探索。 E.g. this project may help。但是这种机制需要由Spring Batch应用程序使用,也需要Spring Batch Admin模块可视化处理状态。