spring - 如何使用 Spring Boot 处理服务异常?
问题描述
我有以下服务:
@Service
public class MyService {
private static final Logger LOG = LoggerFactory.getLogger(MyService.class);
private ObjectMapper objectMapper = new ObjectMapper();
@JmsListener(destination = "queue")
public void receiveMessage(String message) throws JMSException, IOException {
LOG.info("Got message: " + message);
MyObject obj = objectMapper.readValue(message, MyObject.class);
LOG.info("Object Name " + obj.getName());
}
}
如果receiveMessage
抛出错误,我想将此错误记录到日志文件中。如何使用 Spring Boot 执行此操作?
解决方案
试试这个
@Service
public class MyService {
private static final Logger LOG = LoggerFactory.getLogger(MyService.class);
private ObjectMapper objectMapper = new ObjectMapper();
@JmsListener(destination = "queue")
public void receiveMessage(String message) throws JMSException, IOException {
try{
LOG.info("Got message: " + message);
MyObject obj = objectMapper.readValue(message, MyObject.class);
LOG.info("Object Name " + obj.getName());
}catch (JMSException | IOException e){
LOG.error(e.getMesage(),e);
throw e;
}
}
}
推荐阅读
- laravel - 如何在 laravel 中获取 hasMany 关系?
- javascript - Vue FullCalendar,设置点击事件
- javascript - 大尺寸视频在 ipad 中不自动播放
- java - 反应式 Spring Webflux REST 控制器内的重定向
- r - 如何用 R 读取数据集
- node.js - 关联使用了错误的列
- jquery - R Shiny 框中的可移动多个项目 - 类似于附加的屏幕截图
- java - 将底部导航活动转换为片段
- python - 如何修复“找不到满足要求 tensorflow==1.12.0 的版本”错误?
- jquery - 在一页中对多个数据表应用相同的功能。我怎么称呼它?