目前,我坚持将 Spring Batch Admin (SBA) 集成到我们的项目中,导致我无法解决问题。希望有人对我有建议。
我们使用示例 SBA 应用程序(来自 Github 的当前版本)并仅添加了一个 Tasklet。我使用 SBA 的/job-configuration.json API上传 Spring Batch 描述 (XML) 。这按预期工作正常。在 SBA 的 HTML 页面中,我看到该作业已注册并且可以启动。它可以通过 API (/jobs/{jobName}.json) 和 Web 界面执行。
问题是,如果我上传一个新作业,它也已注册并可以启动。但是之前注册的作业会自动变成“ launchable = false ”。已经无法执行了。
我找不到有关此行为的任何文档,也找不到任何可以避免的解决方案。你能给我一个方向吗?
提前致谢。
更新
我无法让它工作。我的解决方法是现在
1) 使用/job-configuration API 方法(POST,mutipart)将作业数据上传为 XML 文件。这解决了多次上传后作业仍可启动的问题。
2)我手动将 XML 文件上传到WEB-INF\classes\META-INF\spring\batch\jobs,因此,重新启动后作业也可以执行。
这不好,但有效。我仍然欣赏任何其他更优雅的解决方案。