#apache-camel #camelcasing #camel-ftp
#apache-camel #camelcasing #camel-ftp
Вопрос:
У меня есть маршрут, подобный следующему
from(direct:start)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
exchange.setProperty("doc_url", "http://myhost:5984/test/record/doc.csv");
}
}).setHeader(Exchange.HTTP_METHOD, constant("GET"))
.convertBodyTo(String.class)
.recipientList(header("doc_url")
.split().streaming.process(new MyProcessor());
Я не хочу каждый раз запускать apache couchdb для тестирования. Я хочу, чтобы эта конечная точка http ссылалась на файл ресурсов в базе кода. Как это написать?
Ответ №1:
вы можете использовать функцию Camel AdviceWith для перехвата / замены конечных точек для тестирования…
camelContext.getRouteDefinition("myRouteId")
.adviceWith(camelContext, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception
{
interceptSendToEndpoint("couchdb:http://localhost/database)
.skipSendToOriginalEndpoint()
.to("http://localhost:5984/test/record/doc.csv");
}
});