在远程服务器上调用Spring批处理作业

时间:2013-05-27 14:24:02

标签: spring spring-batch spring-batch-admin

我使用Spring Batch Admin来管理和监控作业和执行。如何调用作业并从具有给定HTTP连接的独立Java应用程序启动它到包含Spring Batch Admin WebAPP的服务器。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以使用Spring Batch Admin JSON API执行此操作 - 可以列出作业以及运行它们。此外,您可以公开JMX beans以远程监视和管理批处理作业。

以下是名为“job1”的作业服务启动作业的json POST请求示例:

$ 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" : {
    }
  }
}

答案 1 :(得分:1)

你可以简单地使用HttpURLConnection和JOB url及其参数。

URL构造就像 " HTTP://:8080 /弹簧分批管理员采样/批次/任务/ yourJob jobParameters =" + URLEncoder.encode(" param1 = value,param2 = value2",UTF-8)

让我知道,任何澄清......