设置动态restConfiguration端口,而无需使用基于文件的属性占位符

时间:2018-08-27 03:54:08

标签: spring apache-camel

最初,我使用基于文件的bridgePropertyPlaceholder来动态设置restConfiguration端口。

count = 0

for res in results['aggregations']['group_by_time_interval']['buckets']:
    cpu_total_avg = res['cpu_used_avg_pct']['value']
    if float(cpu_total_avg) == 0.0:
        count += 1 

<bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>file:./connection_${ENV}.properties</value> </list> </property> </bean> <restConfiguration component="restlet" host="localhost" port="{{rest.port}}"/> 的值来自环境变量,${ENV}的值来自{{rest.port}}


现在,我要避免使用connection_${ENV}.properties来绕过新部署系统的限制,并将connection_${ENV}.properties的值移到环境变量中,然后按一下:

{{rest.port}}

如果我进一步如下更改restConfiguration

Caused by: java.lang.IllegalArgumentException: Property with key [rest.port] not found in properties from text: {{rest.port}}

我遇到了类型转换问题:

<restConfiguration component="restlet" host="localhost" port="${rest.port}"/>

我的问题是:如何在不使用基于文件的属性占位符的情况下设置动态restConfiguration端口?

备注:我知道存在使用Java VM参数(即-Drest.port = 1234)的解决方法,但是此方法不是我想要的。

0 个答案:

没有答案