【发布时间】:2020-07-06 16:38:26
【问题描述】:
我公开了一个端点,我的客户端调用请求来触发 Spring 批处理作业。
@RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private MyProcessor processor;
@PostMapping(value = "/runJob", consumes = MediaType.APPLICATION_JSON_VALUE)
public HttpEntity<MyResponse> runJob(@Valid @RequestBody MyRequest request) {
//persist the request using Spring JPA
String requestTrackingId = UUID.randomUUID().toString()
MyResponse response = processor.process(request, requestTrackingId); //run spring batch job and create response
return new ResponseEntity<>(response, CREATED);
}
}
请求包括名称和其他一些参数:
public class MyRequest {
private String name;
private String runDate;
private boolean rerun;
}
我需要使用 Spring JPA 将 http 作业运行请求保留在表中。该表应将请求数据与唯一 id 一起保存,以便可以对其进行跟踪,还应捕获作业状态,以便客户端可以使用跟踪 id 查询。
我需要 JPA 实现方面的帮助,包括创建实体并在请求到达端点时将请求持久化到表中。实施会是什么样子?桌子上的id应该是tracking id。
【问题讨论】:
-
你试过什么?
标签: java spring jpa spring-rest