mongodb multi tenacy spel с @Document
Это связано сВыражения MongoDB и SpEL в аннотациях @Document
Так я создаю свой шаблон монго
@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);
}
У меня есть класс арендатора
@Component("tenantProvider")
public class TenantProvider {
public String getTenantId() {
--custome Thread local logic for getting a name
}
}
И мой домен класса
@Document(collection = "#{@tenantProvider.getTenantId()}_device")
public class Device {
-- my fields here
}
Как вы видите, я создал свой mongotemplate, как указано в сообщении, но я все еще получаю ошибку ниже
Исключение в теме "главный" org.springframework.expression.spel.SpelEvaluationException: EL1057E: (pos 1): в контексте не зарегистрирован преобразователь компонента для разрешения доступа к компоненту 'tenantProvider»
Что я делаю неправильно?