gpt4 book ai didi

java - 在 Java Batch 中从读取器获取属性

转载 作者:行者123 更新时间:2023-11-30 01:52:10 27 4
gpt4 key购买 nike

我有一个在 WildFly 上运行的 Java Batch (JSR-352) 应用程序。该应用程序正在公开一个rest-api来触发作业执行。我想向 Reader 类提供一些来自 HTTP REST 请求的值。实现这一点的最佳方法是什么?

作业开始的 REST API:

@PUT
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response handleFileReady(MyNotification notification) {
final Properties jobParams = new Properties();
jobParams.setProperty("filename", notification.getFileName());

BatchRuntime.getJobOperator().start("filetransfer", jobParams);
return Response.status(Response.Status.NO_CONTENT).build();
}

我想从中读取值的阅读器:

public class MyJobReader extends AbstractItemReader {

@Override
public Integer readItem() throws Exception {
// Get Values here
...

此外,目前我正在通过读取通知对象来设置属性中的字符串值,是否有更好的方法来提供整个对象?

最佳答案

通过注入(inject)JobContext,我现在可以获得执行ID:

public class MyJobReader extends AbstractItemReader {

@Inject
private JobContext jobContext;

@Override
public Integer readItem() throws Exception {

Properties pros = BatchRuntime.getJobOperator().getParameters(jobContext.getExecutionId());

关于java - 在 Java Batch 中从读取器获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55691183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com