У меня есть маршрут Camel, который преобразует JSON в объект и передает его в класс процессора. Код ниже. Этот потребитель ActiveMQ не подтверждает некоторые сообщения, из-за чего тема резервируется. Код явно не устанавливает режим подтверждения, но точка останова показывает эти значения -
cknowledgementMode = -1
acceptledgementModeName = null
Что следует изменить, чтобы обеспечить отправку подтверждений как при успешной обработке, так и при возникновении исключения внутри класса процессора?
@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
}
}