J'ai enfin compris pourquoi j'avais ce problème.
Lorsque vous utilisez l'initialisation du servlet 3, assurez-vous d'ajouter le contexte d'application au contexte mongo comme suit
@Autowired
private ApplicationContext appContext;
public MongoDbFactory mongoDbFactory() throws UnknownHostException {
return new SimpleMongoDbFactory(new MongoClient("localhost"), "apollo-mongodb");
}
@Bean
MongoTemplate mongoTemplate() throws UnknownHostException {
final MongoDbFactory factory = mongoDbFactory();
final MongoMappingContext mongoMappingContext = new MongoMappingContext();
mongoMappingContext.setApplicationContext(appContext);
// Learned from web, prevents Spring from including the _class attribute
final MappingMongoConverter converter = new MappingMongoConverter(factory, mongoMappingContext);
converter.setTypeMapper(new DefaultMongoTypeMapper(null));
return new MongoTemplate(factory, converter);
}
Vérifiez l'autowiring du contexte et aussimongoMappingContext.setApplicationContext(appContext);
Avec ces deux lignes, j'ai pu câbler correctement le composant pour l'utiliser en mode multi locataire