0

我正在使用spring-config-server。我让它工作,但理想情况下,我想在具有属性的 .yaml 文件中生成服务器列表。

@Resource
private List<Server> servers;

然后:

@Component
public class Server {

      @Value("${server.name}")
       private String name;
}

在 (applicationName).yaml 文件中:

servers:
-
    name: test
-
    name: test2

请参阅我想List<Server>从配置中动态生成。这个配置在配置服务器上的事实应该与本地 .yaml 文件没有什么不同,对吧?

谢谢你的帮助

4

1 回答 1

3

我们想通了……

Trinity:
  test: Goober
  servers:
    -
      name: test
      jmxURL: jmx://test
    -
      name: test2
      jmxURL: jmx://test

那是配置(在配置服务器中)...这是代码

@Component
@EnableAutoConfiguration
@EnableConfigurationProperties
@ConfigurationProperties(prefix="Trinity")
public class ConfigFetcher {


    List<Server> servers;

    public List<Server> getServers() {
        return servers;
    }

    public void setTest(String test) {
        this.test = test;
    }


    public void setServers(List<Server> servers) {
        this.servers = servers;
    }


    @EnableConfigurationProperties
    @ConfigurationProperties(prefix="Trinity.servers")
    public static class Server{
        private String name;
        private String jmxURL;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }


        public String getJmxURL() {
            return jmxURL;
        }

        public void setJmxURL(String jmxURL) {
            this.jmxURL = jmxURL;
        }

        @Override
        public String toString() {
            return "Server [name=" + name + ", jmxUrl=" + jmxURL + "]";
        }

    }   

}

在主类中(在这种情况下在我的服务中):类具有以下注释

 @EnableAutoConfiguration


    @Autowired
    private ConfigFetcher c;
于 2015-02-02T15:12:55.553 回答