Spring引导在替换的默认属性值中留下一个大括号。如何解决?

时间:2017-08-31 13:55:38

标签: spring spring-boot

如果没有在其他地方设置,我使用Spring启动(1.5.6.RELEASE)来提供默认属性。然而,取代预期的结果,我得到一个剩余的花括号"}"在结果中。

我创建了一个github测试用例,可以重现它。 参见:

https://github.com/garethrandall/spring-boot-property-failure

在rabbitmq-context.xml中,此行具有addresses属性的默认值:

<rabbit:connection-factory id="rabbitmqConnectionFactory" addresses="${rabbit.host:localhost}:5672"/>

预期结果: 地址属性最终为:

"localhost:5672"

实际结果: 地址最终如下:

"localhost}:5672"

然后在Spring中导致解析错误。

异常消息是:

 Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
 PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'addresses' threw exception; nested exception is java.lang.NumberFormatException: For input string: "localhost}:5672"
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1564)
    ... 37 more

有没有人见过这个?有一个Spring Boot 2.0.0,但它还不是一个稳定的版本,所以我很想在1.5.6.RELEASE上解决这个问题。

[这与其他问题不同,因为该问题的答案无效(环绕默认为单引号)。]

0 个答案:

没有答案