MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongodb incantesimo multi tenacia con @Document

Finalmente ho capito perché stavo riscontrando questo problema.

Quando si utilizza l'inizializzazione Servlet 3 assicurarsi di aggiungere il contesto dell'applicazione al contesto mongo come segue

    @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);
}

Controlla il cablaggio automatico del contesto e anchemongoMappingContext.setApplicationContext(appContext);

Con queste due linee sono riuscito a cablare correttamente il componente per utilizzarlo in modalità multi tenant