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

在基于MQ的Spring Boot应用程序中通过Spring建议进行全局异常处理

龙承颜
2023-03-14

我有一个MQ Spring Boot PaaS应用程序,需要通过一个通用的异常处理程序类(GlobalExceptionHandler)实现异常处理。我的PaaS应用程序从源队列接收消息,通过spring jpa执行一些数据库操作,并将响应写回目标队列。

@AfterThrowing(pointcut = "execution(* com.abc.xyz.service..*(..)) ", 
throwing = "dataNotFoundException")
    public void handleDataNotFoundException(DataNotFoundException dataNotFoundException) {
       LOGGER.info("Info : " + dataNotFoundException.getMessage());
       // code, desc need to create here and send it back to calling place.
       // I need to change the return type here from void.
    }

共有1个答案

易雅畅
2023-03-14

正如我在这里所解释的,@aftertholly不能修改返回值或以其他方式更改应用程序的执行流。您甚至无法在那里捕获异常。您需要改用@around建议。

我建议你先阅读一些文档,然后再问更多后续问题。

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

  • 我参考了几篇文章来使用为使用Spring的rest api项目创建全局异常处理程序。这样做的目的是在发生异常的情况下向客户端发送正确的格式化响应。在一些文章中,他们在全局异常处理程序中添加了或。我是否应该用替换它,因为此块用于运行时发生的异常? 异常处理程序代码: 错误响应代码: null

  • 本文向大家介绍springboot全局异常处理详解,包括了springboot全局异常处理详解的使用技巧和注意事项,需要的朋友参考一下 一、单个controller范围的异常处理 说明: 在controller中加入被@ExceptionHandler修饰的类即可(在该注解中指定该方法需要处理的那些异常类) 该异常处理方法只在当前的controller中起作用 二、全部controller范围内起

  • 问题内容: 有没有一种方法可以在Java中创建全局异常处理程序。我想这样使用: 处理程序可能无法捕获在主体中引发的异常。 马丁 问题答案: 使用Thread.setDefaultUncaughtExceptionHandler。有关示例,请参见Rod Hilton的“ Global Exception Handling ”博客文章。

  • 我有一个Groovy Spring Boot微服务,它返回一个帖子列表。请求进入控制器,控制器调用服务类中的方法,如果没有找到POST,则抛出自定义错误消息。 我已经创建了一个带有@ControllerAdvice注释的控制器,我想截获错误,并创建了一个特定于自定义错误的处理程序。它应该返回一个POJO。目前正在调用ControllerAdvice处理程序,但来自microservice的响应是5

  • 我有一个Spring Boot控制台应用程序(即不是MVC或REST),我需要设置一个全局异常处理@ControlerAdvice/@Messagehandler显然不是和选项,所以我尝试使用线程。改为设置DefaultUncaughtExceptionHandler。观察到,在抛出异常后,线程。未调用setDefaultUncaughtExceptionHandlerhandler。我正在寻求建