【问题标题】:Mule JMX agent - Need to update port value at runtimeMule JMX 代理 - 需要在运行时更新端口值
【发布时间】:2012-11-01 14:59:44
【问题描述】:

我正在使用一个弹簧属性“端口”,但是这个端口变量的值在应用程序运行时会动态变化,我想在每次它的值变化时访问这个新的动态值。但是使用下面的配置时,我在启动时遇到异常。

<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 表达式时启动
value="#{appConf.port}"
但该值不会在运行时更新。

我需要在运行时更改此值。如何做到这一点?

【问题讨论】:

    标签: spring mule


    【解决方案1】:

    只需在jolokia-agent 中注入appConf POJO。

    这样你就可以在运行时调用getPort()

    【讨论】:

    • jolokia-agent 是我在我的应用程序中使用的第三方库 (jolokia.org)。我无法更新 jolokia-agent 代码以将 appConf 注入其中。如果我弄错了,你能帮我做一些其他的选择吗?
    • 嗯:Jolokia 是否支持在运行时更改端口?如果是,您可以尝试通过在 Mule 注册表或 MBeanServer 中找到代理实例来获取代理实例,然后尝试设置不同的端口并(可能)重新初始化代理。
    • 感谢您的回复。如果可行,我将遵循此方法并更新您。
    • @jai 你用这种方法成功了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    相关资源
    最近更新 更多