sql >> Database >  >> NoSQL >> MongoDB

Problemen met @Qualifier

Probeer dit:

public class MongoDbConfig {
    @Bean(name = {"sourceTemplate", "mongoTemplate"})
    public MongoTemplate getSourceTemplate() {
        MongoTemplate mt = new MongoTemplate(getMongoDbFactory(sourceServers, sourceDatabaseName));
        return mt;
    }

    @Bean(name="destinationTemplate")
    public MongoTemplate getDestinationTemplate() {
        MongoTemplate mt = new MongoTemplate(getMongoDbFactory(destinationServers, destinationDatabaseName));
        return mt;
    }
}

public class SourceDaoImpl implements SourceDao {
    @Autowired
    @Qualifier("sourceTemplate")
    private MongoOperations mongoOps;
}


public class DestinationDaoImpl implements DestinationDao {
    @Autowired
    @Qualifier("destinationTemplate")
    private MongoOperations mongoOps;
}

Bijgewerkt

Eigenlijk de methode:

@Bean
    @ConditionalOnMissingBean
    public GridFsTemplate gridFsTemplate(MongoDbFactory mongoDbFactory,
            MongoTemplate mongoTemplate) {
        return new GridFsTemplate(
                new GridFsMongoDbFactory(mongoDbFactory, this.properties),
                mongoTemplate.getConverter());
    }

in MongoDataAutoConfiguration vereist een bean van MongoTemplate met de naam "mongoTemplate", die niet kan worden gevonden, in plaats daarvan hebt u uw eigen 2 andere bonen "sourceTemplate" en "destinationTemplate" gedefinieerd.

Ik denk dat dit je probleem zal oplossen!



  1. Een beheerdersgebied creëren in vijf minuten met AdminBro, express, mongoDB, mongoose

  2. Hoe werkt sorteren in de nieuwe mongodb PECL-extensie?

  3. Welsprekend buiten Laravel met jenssegers/laravel-mongodb meerdere DB-verbindingen

  4. MEAN Stack Bestandsuploads