Почему нереактивный mongoTemplate быстрее реактивного mongoTemplate? ⇐ JAVA
-
Anonymous
Почему нереактивный mongoTemplate быстрее реактивного mongoTemplate?
Рассмотрим эту функцию, которая возвращает и удаляет некоторые журналы аудита.
public Mono archiveAuditLogs(ArchiveAuditLogDTO archiveAuditLogDTO) { long filteredEpochTime = archiveAuditLogDTO.getEpochTime(); Запрос запроса = новый запрос(); Date filteredDate = Date.from(Instant.ofEpochMilli(filteredEpochTime)); query.addCriteria(Criteria.where("createdAt").lte(filteredDate)); List logs = this.mongo.find(query, AuditLog.class); this.mongo.remove(запрос, AuditLog.class); вернуть Mono.just(журналы); }); } Выполнение приведенной выше функции занимает 5 секунд, однако следующая функция выполняется вечно
public Mono archiveAuditLogs(ArchiveAuditLogDTO archiveAuditLogDTO) { long filteredEpochTime = archiveAuditLogDTO.getEpochTime(); Запрос запроса = новый запрос(); Date filteredDate = Date.from(Instant.ofEpochMilli(filteredEpochTime)); query.addCriteria(Criteria.where("createdAt").lte(filteredDate)); Mono logs = this.mongoTemplate.find(query, AuditLog.class).collectList(); this.mongoTemplate.remove(запрос, AuditLog.class); возврат журналов; }); } Почему это происходит?
Рассмотрим эту функцию, которая возвращает и удаляет некоторые журналы аудита.
public Mono archiveAuditLogs(ArchiveAuditLogDTO archiveAuditLogDTO) { long filteredEpochTime = archiveAuditLogDTO.getEpochTime(); Запрос запроса = новый запрос(); Date filteredDate = Date.from(Instant.ofEpochMilli(filteredEpochTime)); query.addCriteria(Criteria.where("createdAt").lte(filteredDate)); List logs = this.mongo.find(query, AuditLog.class); this.mongo.remove(запрос, AuditLog.class); вернуть Mono.just(журналы); }); } Выполнение приведенной выше функции занимает 5 секунд, однако следующая функция выполняется вечно
public Mono archiveAuditLogs(ArchiveAuditLogDTO archiveAuditLogDTO) { long filteredEpochTime = archiveAuditLogDTO.getEpochTime(); Запрос запроса = новый запрос(); Date filteredDate = Date.from(Instant.ofEpochMilli(filteredEpochTime)); query.addCriteria(Criteria.where("createdAt").lte(filteredDate)); Mono logs = this.mongoTemplate.find(query, AuditLog.class).collectList(); this.mongoTemplate.remove(запрос, AuditLog.class); возврат журналов; }); } Почему это происходит?
Мобильная версия