Я хочу, чтобы мои маршруты не отправляли информацию с помощью прослушки при тестировании. Это метод, который я сейчас использую для тестирования маршрута.
private void setupRoute(String routeId, String inputEndpoint, String outputEndpoint) throws Exception {
camelContext.getRouteDefinition(routeId)
.autoStartup(true)
.adviceWith(camelContext, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
replaceFromWith(inputEndpoint);
interceptSendToEndpoint(outputEndpoint)
.skipSendToOriginalEndpoint()
.to(MOCK_OUTPUT);
//Should stop the route from wiretapping the messages to the archiving routes.
if (camelContext.hasEndpoint("direct:archiver") != null) {
interceptSendToEndpoint("direct:archiver")
.skipSendToOriginalEndpoint().stop();
}
if (camelContext.hasEndpoint("direct:elasticSearch") != null) {
interceptSendToEndpoint("direct:elasticSearch")
.skipSendToOriginalEndpoint().stop();
}
}
});
Я решил, что, проверив camelContext для этих маршрутов, а затем отключив их, если они существуют, это решит проблему. Но при отладке я заметил, что оба этих маршрута не сохраняются как конечные точки в camelContext, поэтому это не работает.
Каким будет правильный способ отключить Wiratap во время тестирования?