次のコードは悪い習慣と見なされますか? それ以外でできると思いますか?目標は、成功した場合 (つまり、service.invoke(id); への呼び出しが正常に返された場合) または失敗した場合のいずれかで、常にステータスを更新することです...
@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);
}
}
}