我在寻找一种方法来Spring Cloud Config Server设定的系统变量(如-Djavax.net.ssl.keyStore),因为我面对的正是这种行为(https://stackoverflow.com/a/30199253/1406669)在一个共同的ssl环境。
有多种方法可以静态设置它(https://stackoverflow.com/a/36895827/1406669 || https://gist.github.com/unamanic/a7eb0c17b78fb03617cc955b06285b1d)。
我不喜欢它的事情是静态设置它(一旦在启动时设置并且从未刷新)以及需要以静态方式定义键。以这种方式,当需要引入新的系统变量时,我将不得不重新部署应用程序。这是我试图避免的事情。
有人有想法吗?如何从春季云配置服务器设置系统变量
1
A
回答
0
刷新事件通过ApplicationChangeEvent工作,您的应用程序也可以通过实现ApplicationListener来侦听该事件。
@Component
public class DynamicSystemProperties implements ApplicationListener<EnvironmentChangeEvent>{
private final Environment env;
@Autowired
public DynamicSystemProperties(Environment env) {
this.env = env;
}
@Override
public void onApplicationEvent(EnvironmentChangeEvent environmentChangeEvent) {
if(env.containsProperty("system.javax.net.ssl.keyStore")) {
String keystore = env.getProperty("system.javax.net.ssl.keyStore");
System.out.println("system.javax.net.ssl.keyStore - " + keystore);
System.getProperties().setProperty("javax.net.ssl.keyStore", keystore);
}
}
}
相关问题
- 1. 春季云配置服务器文件
- 2. 春季启动云配置客户端没有拿起云配置服务器URI引导设置?
- 3. 春天云Brixton.RELEASE配置服务器
- 4. 春云配置服务器明文
- 5. 在春季配置系统属性
- 6. 为什么春季配置服务器客户端失败从配置服务器获取配置?
- 7. 春云配置服务器(GIT) - 如何构建YML文件
- 8. 春云配置服务器 - 如何下载二进制文件
- 9. Spring云配置服务器
- 10. 春云配置客户端不加载从配置服务器值
- 11. 使用IntelliJ Path变量,如何在Tomcat服务器中设置系统属性运行配置?
- 12. 系统或配置设置
- 13. 春季配置服务器不刷新属性
- 14. 春季OAuth2资源服务器的Java配置
- 15. 春天云自动刷新配置服务器属性
- 16. 春季服务器发送事件 - ResponseBodyEmitter已设置完成
- 17. 使用.NET C从azure云服务读取配置设置#
- 18. 春季Web流量配置错误
- 19. 设置春天云中bootstrap.yml的配置文件以定位不同的配置服务器
- 20. 春季启动/春云 - 尤里卡服务器
- 21. 春季安全云:通过ZUUL网关安全设置的UI服务
- 22. 如何从os变量设置变量为supervisor和gunicorn配置?
- 23. 如何从Mapper Hadoop设置系统环境变量?
- 24. 设置MySQL“lower_case_table_name”服务器变量
- 25. 设置SSI服务器变量
- 26. Spring云配置服务器。在性能
- 27. Spring云配置服务器:Mercurial?
- 28. PCF Dev Spring云配置服务器Gitlab
- 29. 春季启动viewControllerHandlerMapping配置
- 30. 春季JTA Datasource java配置
也可以与http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/env/EnvironmentPostProcessor.html –
@ElGohr的工作是真实的,但是这种方法还可以访问在EnvironmentChangeEvent中更改的属性(第一次运行时为空)。如果你只是在某个属性发生变化时才需要执行某些操作,这可能会更清晰。 – Unamanic