2013-08-30 3 views
0

Я пытаюсь зарегистрировать mbeans по весенней аннотации. Бобы отображались правильно в jconsole, но атрибуты и методы, определенные в классе, не отображались. Что с этим не так?JConsole не показывал атрибуты и методы mbean, которые я определил в mbean

вот один MBean, например:

@ManagedResource(objectName="com.xormedia.aqua.mbean:name=AuthenticationServer",description="AuthenticationServerSummary") 
public class AuthenticationServerSummaryMbean implements MonitorMXBean { 
private String ip; 
private String port; 

@ManagedAttribute 
public String getIp() { 
    return ip; 
} 
public void setIp(String ip) { 
    this.ip = ip; 
} 

@ManagedOperation(description="show port number") 
public String getPort() { 
    return port; 
} 
public void setPort(String port) { 
    this.port = port; 
} 
} 

Я следовал руководству онлайн, настройкой пружинного XML, но есть только MBeans без какой-либо структуры дерева для атрибутов и методов.

Просто так. Mbean without attributes and methods

ответ

1

Попробуйте изменить свой подход в следующий:

Добавить <context:mbean-export/> в вашей весенней конфигурации.

Измените ваш класс немного:

@ManagedResource(
     objectName = "com.xormedia.aqua.mbean:name=AuthenticationServer", 
     description = "AuthenticationServerSummary", 
     log = true, 
     logFile = "jmx.log", 
     currencyTimeLimit = 1) 
public class AuthenticationServerSummaryMbean { 
    private String ip; 
    private String port; 

    @ManagedAttribute(description = "IP Address", currencyTimeLimit = 1) 
    public String getIp() { 
     return ip; 
    } 

    public void setIp(String ip) { 
     this.ip = ip; 
    } 

    @ManagedAttribute(description = "Port number", currencyTimeLimit = 1) 
    public String getPort() { 
     return port; 
    } 

    public void setPort(String port) { 
     this.port = port; 
    } 
} 

Зарегистрировать MBean:

<bean id="mBeanService" class="yourpackage.AuthenticationServerSummaryMbean"/> 
+0

Я пытался ... но он все еще не удалось .. Я не могу ссылаться на 'getIp()' и ' getPort() 'в графическом интерфейсе jconsole. Метод не показан. –

+0

Какая версия весны? можете ли вы попытаться определить 'org.springframework.jmx.export.annotation.AnnotationMBeanExporter' явно вместо' '? –

+0

Включите ведение журнала DEBUG, «MBeanExporter» выплескивает много полезной информации, поскольку он регистрирует MBeans. –

Смежные вопросы