【发布时间】:2015-07-02 22:57:15
【问题描述】:
我需要设置 Spring Boot 的嵌入式 tomcat 使用的 jvmRoute,但看起来我可以做到这一点的唯一简单方法是传入一个 jvm 参数,例如:-DjvmRoute=myroute
我宁愿在 application.properties 中设置这个属性。 jvm 参数是我唯一的选择,还是我遗漏了什么?
【问题讨论】:
标签: spring-boot
我需要设置 Spring Boot 的嵌入式 tomcat 使用的 jvmRoute,但看起来我可以做到这一点的唯一简单方法是传入一个 jvm 参数,例如:-DjvmRoute=myroute
我宁愿在 application.properties 中设置这个属性。 jvm 参数是我唯一的选择,还是我遗漏了什么?
【问题讨论】:
标签: spring-boot
这是我想出的解决问题的方法。由于 org.apache.catalina.core.StandardEngine 基于 System 属性设置 jvmRoute,我只需从 application.properties 中获取自己的 tomcat.jvmroute 属性,并将其设置为 @Configuration 文件中的 System 属性:
@Configuration
public class TomcatConfig {
@Value("${tomcat.jvmroute}")
private String jvmRoute;
@PostConstruct
public void setJvmRoute() {
// embedded tomcat uses this property to set the jvmRoute
System.setProperty("jvmRoute", jvmRoute);
}
}
【讨论】: