MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sự cố với @Qualifier

Hãy thử điều này:

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

Đã cập nhật

Trên thực tế, phương pháp:

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

trong MongoDataAutoConfiguration yêu cầu bean của MongoTemplate có tên "mongoTemplate", không thể tìm thấy, thay vào đó bạn đã xác định 2 bean khác của riêng mình là "sourceTemplate" và "destinationTemplate".

Tôi nghĩ điều này sẽ giải quyết được vấn đề của bạn!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn dữ liệu từ MongoDB bằng GraphQL trong Django:Get-Go (1)

  2. Chèn tài liệu trong mongodb với trường autoincrement từ java

  3. Cập nhật đối tượng nhúng bên trong mảng bên trong mảng trong MongoDB

  4. Các truy vấn tổng hợp trung bình trong Meteor

  5. Băm mật khẩu Mongoose