один и тот же компонент с разными значениями из файла свойств - PullRequest
0 голосов
/ 07 октября 2018

В настоящее время у меня есть 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);
  }
}
...