【问题标题】:Spring JMX and OC4J MBean notifications, can't enableSpring JMX 和 OC4J MBean 通知,无法启用
【发布时间】:2013-05-09 00:16:08
【问题描述】:

我正在向 OC4J 部署一个 spring 应用程序,但是一直遇到一个奇怪的问题,即我可以访问暴露的 mbean,但只能使用属性和操作。通知可以在选项卡下看到,但没有使用,因为应该有一个带有应用按钮的复选框来订阅。这不存在,而只是布尔值 false 表明我绝对没有订阅该通知。

这是我用来注册 mbeans 的 spring 配置:

<bean id="test" class="com.app.jmx.HomeController"/>

<bean id="MbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
    <property name="defaultDomain" value="MbeanServer" />
</bean>

<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
    <property name="autodetect" value="false" />
    <property name="server" ref="MbeanServer" />
    <property name="beans">
        <map>
            <entry key=":name=test" value-ref="test" />
        </map>
    </property>
</bean>

这是用于创建通知的代码

    private String notifications[] = { "increment", "decrement", "reset",
"test" };

public MBeanNotificationInfo[] getNotificationInfo() {
    MBeanNotificationInfo[] info = { new MBeanNotificationInfo(
            notifications, "javax.management.Notification",
            "Notifications set for SimpleNotifier") };
    return info;
}   

可以在此处找到一个没有弹簧的工作示例 http://www.oracle.com/technetwork/middleware/ias/readme-087860.html

非常感谢您对此提供任何帮助,因为我在网上找到的关于 Spring、jmx 和 oc4j 与 jmx 通知组合的资源非常有限,谢谢!

【问题讨论】:

    标签: spring jmx oc4j


    【解决方案1】:

    这是 spring 配置文件中的 mbeanserver 的问题。

    <bean id="mbeanserver" class="org.springframework.jmx.support.MBeanServerFactoryBean">
        <property name="locateExistingServerIfPossible" value="false" />
    </bean>
    

    解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      相关资源
      最近更新 更多