【发布时间】:2019-11-01 09:11:52
【问题描述】:
我有一个 spring boot 控制器,它吸引了许多用户,如下所示
示例 json
{
"users": [
{ "name":"john", "age":18, "type":"1"},
{ "name":"kim", , "age":18, "type":"2"},
{ "name":"Fits", "age":18, "type","3"},
]
}
请求处理程序
@RequestMapping(value = "/users", method = RequestMethod.POST, headers = "Accept=application/json")
public void Add(@RequestBody List<user> users) throws Exception {
// Here I am iterating users and writing one by one to different message topic based on the type
// if any error in the given user while writing to message topic I am storing that user in other DB
}
当我在用户列表中有大约 100 个用户时它工作得很好,但如果列表很大,比如 1000 等,它会花费太多时间。 那么有没有我可以分配给它来执行此操作的春季批处理作业?
我只想返回 http 响应代码 202 来请求并将此有效负载分配给 spring 批处理作业
【问题讨论】:
-
我不明白你在问什么。您是否希望有一些现有的 Batch 作业定义可以为您执行此操作?在我看来,您想要转移到批处理作业的逻辑非常特定于您自己的领域和需求,并且此时不会只存在于野外。如果是这样,那么您是否真的在问“我如何使用 Spring Batch?”这个问题超出了本网站的范围。我假设有几十个文档集和教程可以教你如何使用 Spring Batch。我建议你看看那里。
-
是的,我想利用 Spring Batch 并将我的业务逻辑添加到其中..
-
您是否开始尝试这样做?您是否可以向我们展示代码,以便我们可以看到您正在尝试什么?如果不是,那么这对于本网站来说不是一个合适的问题。该站点旨在解决特定的编程问题和问题,而不是提供使用 Spring Batch 等整个技术的培训。同样,我希望已经有很多资源可以帮助您解决这个问题。
-
谷歌“Spring Batch”,您将获得大量潜在的学习选择。
-
我不清楚您到底有什么具体问题。你想知道如何通过 HTTP 请求启动 Spring 批处理作业吗?您想知道如何将业务逻辑编写为 Spring 批处理作业吗?你想知道如何将参数从 HTTP 请求传递到 Spring 批处理作业吗?
标签: spring spring-boot spring-batch batch-processing