是否可以例如在配置文件中动态(在运行时)为每个indexName
指定@Document
?还是有可能使@Document
Spring环境(dev,prod)依赖?
谢谢!
最佳答案
@Document批注不允许直接在参数中传递索引名。但是我找到了解决方法。
在配置类中,我创建了一个返回字符串的Bean。在这个字符串中,我用@Value注入(inject)了索引名:
@Value("${etrali.indexname}")
private String indexName;
@Bean
public String indexName(){
return indexName;
}
之后,可以将索引注入(inject)到@Documentation批注中,如下所示:
@Document(indexName="#{@indexName}",type = "syslog_watcher")
它对我有用,希望对您有帮助。
此致