В настоящее время у меня есть 40 различных конфигурационных файлов, все с одинаковыми переменными и одним и тем же компонентом.единственное различие между ними заключается в том, что получает аннотация @Value.
Можете ли вы помочь мне написать ее более эффективно без такого большого количества дубликатов конфигурационных файлов?
пример моего кода (у меня около 40дубликаты этого класса):
@Configuration
@Profile("qa")
public class QAAutoDeciderConsumerConfig {
private static final Logger log = LoggerFactory.getLogger(QAAutoDeciderConsumerConfig.class);
@Autowired
private MessageConsumerQA messageConsumer;
@Autowired
private RheousConsumerConfig rheousConsumerConfig;
@Value("${message.key.name}")
private String messageKeyName;
@Value("${max.partition.fetch.bytes}")
private long maxPartitionSize;
@Value("${auto.offset.reset}")
private String autoOffsetReset;
@Value("${QA-AutoDecider.bootstrap-servers}")
private String[] bootStrapUrls;
@Value("${QA-AutoDecider.consumer.client-id}")
private String rheosConsumerClientId;
@Value("${QA-AutoDecider.rheos.services-urls}")
private String rheosServiceUrl;
@Value("${QA-AutoDecider.topic}")
private String rheosTopic;
@Value("${QA-AutoDecider.consumer.group-id}")
private String rheosConsumerGroup;
@Value("${AutoDecider}")
private Boolean runEngine;
@Value("${QAConsumer}")
private Boolean runEnvironment;
@Bean(name = "QA-AutoDecider")
public RheosConsumerExecutor executor() {
return rheousConsumerConfig.executor(runEngine,runEnvironment,bootStrapUrls,rheosTopic,rheosServiceUrl,rheosConsumerClientId, rheosConsumerGroup, messageConsumer, maxPartitionSize, autoOffsetReset);
}
}