Contexte d'exécution & Résolveur
Explique comment le MongoTemplateResolver sélectionne le MongoExecutionContext par clé et comment le DriverMongoExecutionContext fournit les limites de base de données, de session et de mapping.
Contrat de MongoTemplateResolver
MongoTemplateResolver.java
javaReactiveMongoDsl<K>는 key마다 MongoExecutionContext를 가져옵니다. MongoExecutionContext가 MongoDatabase, ClientSession, collection naming, entity ↔ Document mapping과 save lifecycle hook의 경계를 담당합니다.
DriverMongoExecutionContext
기본 collection 이름은 entity simple class name을 decapitalize해서 결정합니다. 프로젝트의 실제 naming 규칙이 다르면 생성자에 collection-name resolver를 전달합니다.
Nommage de collection
Si le nom de la collection est complètement fixe pendant la durée de vie de l'application, vous pouvez utiliser DriverMongoExecutionContext.cachedCollectionNameResolver(...). Pour les résolveurs dont le nom change selon le tenant/request/time, n'utilisez pas d'aide de cache.
Portée de session et transaction
Le ClientSession créé dans getTxJob(...) est propagé uniquement à la même exécution DSL par MongoExecutionContext#getSessionScope(). DriverMongoExecutionContext utilise par défaut son propre MongoClient comme portée de session.