updateFirst метод Spring Mongo Template не всегда обновляет коллекцию mongo Db, как ожидалось.
(запрос на обновление запускается кнопкой сохранения в интерфейсе интерфейса пользователя, мы видим, что появляется всплывающее сообщение о том, что таблица успешно сохранена после нажатия кнопки сохранения и завершения запроса)
Когда несколько запросов на обновление запускаются в последовательном порядке один за другим без промежутка между обновлениями, после нескольких запросов я вижу, что данные больше не обновляются, но в журналах нет ошибок.
Ниже приведен метод обновления базы данных.
@Override
public void updateTable(Source source, Table table) {
log.debug("updating existing table " + table.getTableId() + " on source " + source.getSourceId());
source.setStatus(SourceStatus.InProcess);
Query q = query(where("_id").is(source.getId()).and("deleted").is(false).and("tables._id").is(table.getId()));
Update u = update("tables.$", table);
u.set("lastModifiedAt", source.getLastModifiedAt()).set("lastModifiedBy",
source.getLastModifiedBy()).set("errorInObject", source.isErrorInObject()).set(
"errorInChildObject", source.isErrorInChildObject()).set("errors", source.getErrors()).set(
"failedFields", source.getFailedFields()).set("status",source.getStatus());
template.updateFirst(q, u, Source.class);
}
Я зарегистрировал запросы, запущенные к Mongo Db в приложении весенней загрузки, используя параметр файла свойств, и всегда обновляемый запрос, который запускается, имеет правильные значения, но
при работающем обновлении - В журнале появляется сообщение «Сохранение объекта в базе данных» непосредственно перед выполнением запроса на обновление.
когда обновление не работает - есть сообщение в журнале, которое говорит «Сохранение объекта в базу данных» сразу после запуска запроса на обновление, я думаю, что его запись в БД предыдущее обновление вместо текущего обновления .
Версия MongoDB - 2.6.7
Версия драйвера Spring Mongo Template - 2.13.3
Версия Spring Boot - v1.3.2.RELEASE
Может предоставить дополнительную информацию при необходимости.