2013-05-27 107 views
1

我使用Spring Batch Admin来管理和监视作业和执行。我如何调用一个作业,并通过给定的HTTP连接将其从独立的Java应用程序启动到包含Spring Batch Admin WebAPP的服务器。在远程服务器上调用Spring批处理作业

感谢您的帮助

回答

1

您可以使用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" : { 
    } 
    } 
} 
+0

首先感谢您的答复。 我读了JSON API,我知道如何在服务器上列出作业,但我没有看到如何运行一个给定的工作。请给我做步骤 – Brahim

+0

很难给出确切的答案,因为这取决于你的工作性质。我已经更新了答案,给出了请求启动'job1'的示例。 –

1

你可以用JOB的URL及其参数只是HttpURLConnection的使用。

的URL构建体将是像 “HTTP://:8080 /弹簧分批管理员采样/批次/任务/ yourJob jobParameters =” + URLEncoder.encode( “参数1 =值,参数2 =值2” ,UTF-8)

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