Mongodb Multi Tenacy Spel z @Document
Jest to związane zWyrażenia MongoDB i SpEL w adnotacjach @Document
W ten sposób tworzę mój szablon Mongo
@Bean
public MongoDbFactory mongoDbFactory() throws UnknownHostException {
String dbname = getCustid();
return new SimpleMongoDbFactory(new MongoClient("localhost"), "mydb");
}
@Bean
MongoTemplate mongoTemplate() throws UnknownHostException {
MappingMongoConverter converter =
new MappingMongoConverter(mongoDbFactory(), new MongoMappingContext());
return new MongoTemplate(mongoDbFactory(), converter);
}
Mam klasę dostawcy najemców
@Component("tenantProvider")
public class TenantProvider {
public String getTenantId() {
--custome Thread local logic for getting a name
}
}
I moja klasa domeny
@Document(collection = "#{@tenantProvider.getTenantId()}_device")
public class Device {
-- my fields here
}
Jak widzisz, utworzyłem mój mongotemplate, jak określono w poście, ale nadal otrzymuję poniższy błąd
Wyjątek w wątku „main” org.springframework.expression.spel.SpelEvaluationException: EL1057E: (pos 1): W kontekście nie zarejestrowano przelicznika komponentów bean w celu rozwiązania dostępu do komponentu „tenantProvider” komponentu bean
Co ja robię źle?