MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Masalah dengan @Qualifier

Coba ini:

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

Diperbarui

Sebenarnya caranya:

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

di MongoDataAutoConfiguration membutuhkan kacang MongoTemplate nama "mongoTemplate", yang tidak dapat ditemukan, sebagai gantinya Anda telah mendefinisikan sendiri 2 kacang lain "sourceTemplate" dan "destinationTemplate".

Saya pikir ini akan menyelesaikan masalah Anda!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cara menghindari $push-ing nulls dalam kerangka agregasi mongo

  2. MongoDB $stdDevPop

  3. Menjatuhkan koleksi Mongo tidak mengosongkan ruang disk

  4. Ambil data dari 2 koleksi di mongodb dalam satu kueri

  5. $cond operator kode java