从外部配置读取值

时间:2016-06-27 11:10:27

标签: java tomcat spring-boot maven-3

我们正在开发Spring Boot Application。我们的应用程序运行三个服务器(jvm)。假设这三个是:server,worker和myui。这三个以相同的服务器顺序运行 - >工人 - > myui。三个运行tomcat服务器的三个。

我的问题是第一台服务器如果运行,那么Tomcat获得8080端口默认值,对我来说没关系。但是当我们运行myui时,这也会启动Tomcat,但它会抛出" 地址已经绑定"异常,因为服务器已经消耗了8080。

构建有三种类型的jar:

所有MyApplication

配置

  • application.properties
  • application.yml

的server.jar

worker.jar

myui.jar

这些jar中的每一个都可能具有config文件夹中给出的相同文件。但是它们将被嵌入到jar中,它们将不会被配置。在我的构建中,将允许用户更新application.properties和application.yml。

我们尝试过提供" server.port"在application.properties中外部为8090.它在IDE中工作正常。但是它不能用于构建" /config/application.properties"的优先级。不仅仅是保存在jar内(如果有的话),它抛出的地址已经绑定了异常。

如何在" /config/application.properties"中配置它;这样它就可以配置为更改以运行myui。如何从外部属性访问这些端口值到我的资源java类?

1 个答案:

答案 0 :(得分:0)

您可以使用外部 .properties 执行此操作,从 application.properties 中删除端口配置并将其放在外部文件中。在Spring Boot应用程序中,您可以使用@PropertySource将这些配置文件包含在环境变量中。