У меня есть маршрут Camel, который преобразует JSON в объект и передает его классу процессора. Код ниже. Этот потребитель ActiveMQ не подтверждает некоторые сообщения, что приводит к резервному копированию раздела. Код явно не устанавливает режим подтверждения, но точка останова показывает эти значения:
ПодтверждениеMode = -1 ПодтверждениеModeName = ноль
Что нужно изменить, чтобы подтверждения отправлялись как при успешной обработке, так и при возникновении исключения внутри класса процессора?
@Component
public class MyRoute extends RouteBuilder {
private String mySubscription;
private MyProcessor myProcessor;
public MyRoute(@Value("${my.topic}") String tripSubscription, MyProcessor myProcessor) {
this.mySubscription = mySubscription;
this.myProcessor = myProcessor;
}
@Override
public void configure() {
from(mySubscription)
.unmarshal().json(JsonLibrary.Jackson, MyDTO.class)
.bean(myProcessor, "process(${body})")
.end();
}
}
Класс процессора -
@Slf4j
@Component
@AllArgsConstructor
public class MyProcessor {
public void process(MyDTO dto) {
//code that throws exception
}
}