MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Проблеми с @Qualifier

Опитайте това:

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

Актуализирано

Всъщност методът:

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

в MongoDataAutoConfiguration изисква bean на MongoTemplate с име "mongoTemplate", който не може да бъде намерен, вместо това сте дефинирали свои собствени 2 bean-а "sourceTemplate" и "destinationTemplate".

Мисля, че това ще разреши проблема ви!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Typescript Mongoose игнорира определено поле в резултата от заявката по безопасния начин

  2. Как да осредним сумираните стойности в mongodb?

  3. MongoDB:Как да представим схематична диаграма в дипломна работа?

  4. Rails 4 и mongoid:програмно изграждане на заявка с множество условия И и ИЛИ

  5. Поточно предаване на резултати от заявка с родния mongoDB драйвер за възел