Невозможно получить более одного объекта из компонента Apache Camel MongoDb - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть следующий фрагмент кода:

@Component
public class RetrievalAllFromDbRoute extends RouteBuilder{
    public void configure() throws Exception {
        this.from("direct:allObjects").routeId("retrieveAllObjectsFromDB")
                .setHeader("CamelMongoDbBatchSize", constant(50))
                .process(new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        DBObject fieldFilter = BasicDBObjectBuilder.start().add("_id", 1).get();
                        exchange.getMessage().setHeader(MongoDbConstants.FIELDS_FILTER, fieldFilter);
                    }
                })
                .to("mongodb:mongoClient?database="+mongoDbName +"&collection=myObjectCollection&operation=findAll&outputType=DBCursor")
                .split(body())
                .streaming()
                .process(new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        JsonNode idNode = UtilMethods.convertStringToJson(exchange.getMessage().getBody().toString());
                        exchange.getMessage().setBody(idNode.get("_id").asText());
                        System.out.println("\n Extracted id["+exchange.getMessage().getBody().toString()+"] from db \n");
                    }
                });
    }
}

Однако я получаю только один вывод.Установка точки останова и запрос базы данных в первом процессоре показывает, что в базе данных более 300 объектов, поэтому я не понимаю, почему я получаю только 1 объект.

РЕДАКТИРОВАТЬ :Моя зависимость POM maven:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-mongodb</artifactId>
    <version>2.22.0</version>
</dependency>

работа с базой данных MongoDB 3.6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...