以下代码是否被认为是一种不好的做法?你认为其他方式可以做到吗?目标是始终更新状态,无论是成功(即调用 service.invoke(id);returns normals )或失败......
@Autowired
private Service service;
public void onMessage(Message message) {
String id = null;
String status = "FAILED";
try {
id = ((TextMessage) message).getText();
status = service.invoke(id); //can throw unchecked exception
} catch (final JMSException e) {
throw new RuntimeException(e);
} finally {
if (StringUtils.isNumeric(id)) {
service.update(id, status);
}
}
}