当前位置: 首页 > 知识库问答 >
问题:

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

诸葛奇玮
2023-03-14

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

案例:

附加说明:

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

共有1个答案

潘宸
2023-03-14

您可以在StepExecution上设置exitStatus和batchStatus,并调用StepExecution.setTerminateOnly()来终止作业。它将以作业中断异常结束作业。在exit status中,您可以设置您选择的消息,例如-stepExecution.setExitStatus(new ExitStatus(“Failed”,“Stopped job dough to some Error”))。您可以在批处理管理控制台中看到此消息

 类似资料:
  • 我有一个带post请求的控制器。我试图用一个简单的NotNull注释验证POJO。我正在使用ControllerAdvice来处理异常。 所以我尝试使用它,但当我启动应用程序时,我得到了以下信息: 因此,我想为BindException创建自己的处理程序,但当我为BindException类创建ExceptionHandler时,spring应用程序不会启动。如果我注释掉handleBindExc

  • 我一直在研究ControllerAdvice和ExceptionHandler注释,但我认为这两个注释都不能按照我们的预期使用。ControllerAdvice只能覆盖整个控制器,因此任何异常处理也将覆盖非Ajax方法。类似地,ExceptionHandler注释将处理来自这两种类型方法的异常。 目前的想法是将ajax和CRUD这两种类型的方法拆分为单独的控制器。还有别的办法吗?

  • 我有一个队列系统,骆驼只是其中的一小部分。在此队列系统中,对于某些队列,代理在队列已满时返回 FAIL。为了解决这个问题,我查看我得到的 JMS 异常,从消息中我可以看到原因是否是队列已满。 我想在Camel中实现的是,对于满队列的特定情况,我希望重试传递,而对于任何其他JMS异常(或任何其他异常),我希望将其发送到DLQ。 我假设我必须使用onException(JMSException.cla

  • 我有以下控制器类 } 对于异常处理,我使用Spring3。2.建议如下: } 我将XML bean定义为 控制器通知处理程序不处理从控制器引发的异常。我在谷歌上搜索了几个小时,但找不到它发生的原因。我照着描述的做了http://www.baeldung.com/2013/01/31/exception-handling-for-rest-with-spring-3-2/在这里 如果有人知道,请告诉

  • 我正在为Spring MVC中的异常处理开发示例演示应用程序。我正在尝试使用@ControllerAdvice处理异常 我遵循了本链接中描述的步骤。 但是当我运行我的应用程序时,我得到了以下错误 以下是我正在学习的课程 应用程序异常。JAVA 控制器类 ApplicationExceptionController。JAVA 下面是GlobalExceptionHandler类 GlobalExce

  • 我们有一个websphere应用程序服务器,其中部署了多个应用程序。所有应用程序都使用一个公共属性(Key),但具有不同的Value。例如:spring.profiles。active=在一个应用程序spring.profiles中测试。active=其他应用中的UAT。在Websphere启动期间,是否可以将这些不同的值传递给应用程序? 如果我们在通用JVM参数输入框的JVM选项中设置这些值,那