我使用的是spring属性“端口”,但是此端口变量的值在应用程序运行时动态更改,并且我希望每次值更改时都可以访问此新动态值。但是,使用以下配置时,在启动时出现异常。

<custom-agent name="jolokia-agent" class="org.jolokia.mule.JolokiaMuleAgent">
    <spring:property name="port" value="#[app.registry.appConf.port]"</spring:property>
</custom-agent>

appConf是一个Spring Bean。

错误摘要:
10/31/12 15:18:44.244 ERROR [main] DefaultMuleApplication - null
 java.lang.NumberFormatException: For input string: "[app.registry.appConf.port]"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:449)
    at java.lang.Integer.valueOf(Integer.java:528)
    at java.lang.Integer.decode(Integer.java:958)
    at org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:155)
    at org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.j    ava:115)
    at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.ja    va:434)
    at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:4    06)
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.ja    va:163)
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:470)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:516)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:510)

当我将value属性更改为Spring Expression时,应用程序启动
value =“#{appConf.port}”
但该值在运行时不会更新。

我需要在运行时更改此值。如何解决?

最佳答案

只需将appConf POJO注入jolokia-agent即可。

这样,您可以在运行时对其调用getPort()

关于spring - Mule JMX代理-需要在运行时更新端口值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13155381/

10-10 21:46
查看更多