1
Я пытаюсь вытащить объект из MongoDb и добавить его к моей текущей полезной нагрузке и сохранить его в другой базе данных:Как обогатить полезную нагрузку с объектом из MongoDB (верблюд-MongoDB)
@Override
public void configure() throws Exception
{
from(kafkaEndpoint)
.convertBodyTo(DBObject.class)
.enrich("mongodb:mongoDb?database=myDbName1&collection=UserColl&operation=findOneByQuery",
(original, external) -> {
DBObject originalBody = original.getIn().getBody(DBObject.class);
DBObject externalBody = external.getIn().getBody(DBObject.class);
Map<String, DBObject> map = new HashMap<String, DBObject>();
map.put("original", originalBody);
map.put("external", externalBody);
original.getIn().setBody(map);
return original;
})
.to("mongodb:mongoDb?database=myDbName2&collection=UserColl&operation=insert");
}
Проблема что обогащают извлечь запрос из In.body, который держит мой оригинальный объект ...
Так как я могу передать запрос ({ «entity.id»: «»}) к обогащают (mongoldb: ...) и сохранить оригинальный объект, чтобы объединить его с результатами?
Спасибо.
Я пытался использовать этот метод, однако я всегда получаю «Нет доступных потребителей в конечной точке: direct: // findOneByQuery». Это то, с чем вы столкнулись? –
Другая ошибка, которая возникает, если я пытаюсь использовать компонент mongodb в «enrich», такова: «Не удалось создать Продюсер для конечной точки: mongodb3 nullPointerException» –