Я изучаю весеннюю загрузку и параллелизм. Я понимаю, что когда весенняя загрузка получает несколько запросов, она запускает несколько потоков для обработки запроса. У меня есть метод, который обращается к mon go. Этот метод сохранит новый someResult (возможно, с некоторыми новыми значениями, установленными вызывающей стороной). Мой вопрос: если есть, скажем, 100 одновременных вызовов моего контроллера загрузки Spring, и я получаю объект someResult, и устанавливаю значения и сохраняю et c, будут ли значения несовместимы?
public void upsert(SomeResult someResult) {
String collection = this.SomeResultConfig.getCollectionSomeResultCollection();
String queryStr = "{testingID : '%s'}";
queryStr = String.format(queryStr, someResult.getTestingID());
Query query = new BasicQuery(queryStr);
List<SomeResult> someResultList = this.mongoOps.find(query, SomeResult.class, collection);
if (someResult.size() != 0) {
this.mongoOps.findAllAndRemove(query, collection);
}
this.mongoOps.save(someResult, collection);
}