Cuối cùng đã tìm ra lý do tại sao tôi gặp sự cố này.
Khi sử dụng khởi tạo Servlet 3, hãy đảm bảo rằng bạn thêm ngữ cảnh ứng dụng vào ngữ cảnh mongo như sau
@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);
}
Kiểm tra tự động tạo của ngữ cảnh và cả mongoMappingContext.setApplicationContext (appContext);
Với hai dòng này, tôi đã có thể nối dây chính xác thành phần để sử dụng nó ở chế độ nhiều người thuê