我有一个要求,我使用spring-batch-admin JSON api为spring-batch监控创建了一个自定义UI。我有一个要求,当我正在进行该作业的实例时,我不希望允许用户启动作业。
是否有任何REST Url可以为我提供作业实例的状态,无论作业是否正在进行中?
有没有办法开发自定义REST网址来提供此功能。
请帮助。
答案 0 :(得分:0)
从未使用此API,但是来自此网站:http://docs.spring.io/spring-batch-admin/reference/json.html
您可以使用http://localhost:8080/sprin-batch-admin-sample/batch/jobs/job1.json
获取上一个作业的状态(因此,如果有一个正在运行,则运行一个作业)(将job1替换为您的实际作业名称和服务器)。参数lastJobExecutionStatus
如果仍在运行,则应为STARTING
,STARTED
或STOPPING
。
可能的状态列表(检查批量版本):http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/BatchStatus.html#STARTING
请注意,作业可能会崩溃,使其处于STARTED
。
编辑:在服务器端,您可以创建一个休息端点并使用SynchronizedJobLauncher
类,其中"全局同步作业,这样一次只能执行一个给定作业的一次。&#34 ; (http://docs.spring.io/spring-batch-admin/apidocs/org/springframework/batch/admin/launch/package-summary.html)。关于如何为json创建休息端点以及如何注入JobLauncher
,有很多资源。
此处列出了其他可能性:http://docs.spring.io/spring-batch-admin/reference/reference.xhtml