首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Spring批处理Tasklet方法中处理特定于应用程序的异常

在Spring批处理Tasklet方法中处理特定于应用程序的异常
EN

Stack Overflow用户
提问于 2014-05-20 06:20:32
回答 1查看 3.4K关注 0票数 2

我们如何优雅地处理Spring批处理中特定于应用程序的异常?

案件:

考虑包含三个步骤A、B、C的Spring批处理应用程序(tasklet方法)。

Step A检索数据,如果没有可用的数据,作业应该跳过其余的步骤&应该优雅地关闭,提供错误消息。

当前,如果我们抛出一个特定于应用程序的异常,则会记录整个跟踪并完成作业。如果存在StepExecutionListener实现,则在作业终止之前执行afterStep方法。

有什么办法能抑制痕迹吗?

附加注释:

  1. 步骤A应该处于失败状态。
  2. 为此目的,我们可以在步骤执行中使用setTerminateOnly()吗?如果没有,setTerminateOnly的一般用途是什么?
EN

回答 1

Stack Overflow用户

发布于 2016-12-08 09:09:27

您可以在exitStatus和batchStatus上设置StepExecution,并调用stepExecution.setTerminateOnly()来终止作业。它将在作业中断异常情况下结束作业。在退出状态中,您可以设置您选择的消息-stepExecution.setExitStatus(新的ExitStatus("FAILED",“由于某些错误而停止作业”))。您可以在批处理管理控制台中看到此消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23762379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文