我使用Spring Batch Admin来管理和监视作业和执行。我如何调用一个作业,并通过给定的HTTP连接将其从独立的Java应用程序启动到包含Spring Batch Admin WebAPP的服务器。在远程服务器上调用Spring批处理作业
感谢您的帮助
我使用Spring Batch Admin来管理和监视作业和执行。我如何调用一个作业,并通过给定的HTTP连接将其从独立的Java应用程序启动到包含Spring Batch Admin WebAPP的服务器。在远程服务器上调用Spring批处理作业
感谢您的帮助
您可以使用Spring Batch Admin JSON API这么做 - 这可以列出作业,以及运行它们。此外,您可以公开JMX beans来远程监视和管理批处理作业。
下面是JSON POST请求名为 'JOB1' 工作开展服务工作的一个例子:
$ curl -d jobParameters=fail=false http://localhost:8080/spring-batch-admin-sample/batch/jobs/job1.json
{"jobExecution" : {
"resource" : "http://localhost:8080/spring-batch-admin-sample/batch/jobs/executions/2.json",
"id" : "2",
"status" : "STARTING",
"startTime" : "",
"duration" : "",
"exitCode" : "UNKNOWN",
"exitDescription" : "",
"jobInstance" : { "resource" : "http://localhost:8080/spring-batch-admin-sample/batch/jobs/job1/1.json" },
"stepExecutions" : {
}
}
}
你可以用JOB的URL及其参数只是HttpURLConnection的使用。
的URL构建体将是像 “HTTP://:8080 /弹簧分批管理员采样/批次/任务/ yourJob jobParameters =” + URLEncoder.encode( “参数1 =值,参数2 =值2” ,UTF-8)
让我知道,任何澄清.....
首先感谢您的答复。 我读了JSON API,我知道如何在服务器上列出作业,但我没有看到如何运行一个给定的工作。请给我做步骤 – Brahim
很难给出确切的答案,因为这取决于你的工作性质。我已经更新了答案,给出了请求启动'job1'的示例。 –