2013-08-30 4 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을 구성, 온라인 가이드를 따라하지만 속성과 메소드에 대한 트리 구조가없는 단지의 MBean가있다.

이렇게하면됩니다. Mbean without attributes and methods

답변

1

봅니다 다음에 당신의 접근 방식을 변경합니다 :

이 스프링 설정에 <context:mbean-export/>를 추가합니다. `

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

내가 시도 ...하지만 여전히 실패 .. 내가'getIp를 (호출 할 수 없습니다)'과 : 당신의 MBean을 등록

@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; } } 

:

는 클래스 조금 변경

getPort()'를 호출합니다. 방법이 표시되지 않았습니다. –

+0

스프링의 버전은 무엇입니까? ''대신'org.springframework.jmx.export.annotation.AnnotationMBeanExporter'를 명시 적으로 정의 할 수 있습니까? –

+0

DEBUG 로깅을 켜면'MBeanExporter'는 MBeans를 등록 할 때 많은 유용한 정보를 출력합니다. –