java正在寻找一种在springboot应用程序中解析值的方法。初始化SpringBootApplication之前的yml文件
因此,我的问题如下:
我使用spring AMQP连接到使用SSL的rabbitMQ实例。不幸的是,SpringAMQP目前不支持全长AMQPSURI,并且添加支持在优先级列表中并不高(请参阅问题:https://github.com/spring-projects/spring-boot/issues/6401)。他们需要分开
我的应用程序中需要以下字段。要连接的yml:
spring:
rabbitmq:
host: hostname
port: portnumber
username: username
password: password
virtual-host: virtualhost
ssl:
enabled: true
rabbitMQ实例的VCAP_服务环境仅提供以下格式的virtualhost和全长uri:amqps://username:password@hostname:portnumber/virtualhost
将这些值复制并粘贴到我的应用程序中。yml目前还不错,但从长远来看是不可行的。他们需要来自vcap_服务
我的@SpringBootApplication有@Beans,可以在启动时初始化到rabbitMQ实例的连接,因此我正在寻找一种方法来解析各个值,并在应用程序启动之前设置它们
# 1 楼答案
只需覆盖引导的自动配置连接工厂
# 2 楼答案
如果您只想在Spring启动应用程序初始化之前读取属性,那么可以在调用
SpringApplication.run
之前使用Spring的YamlPropertiesFactoryBean
解析yaml文件。比如说,