2013-08-22 3 views
4

Ive 코드에 Spring 주석을 추가했지만 Visual Vm을 통해 연결하면 "myExample()"이 (가) 표시되지 않습니다. 되고있는 JMX 콩 목록Java Spring Framework jmx managed annotation @ManagedAttribute가 MBeanServerConnection/Jconsole/Visual VM/Bean 목록에 메소드를 표시하지 않음

내 코드 : 왜 이런 일이

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.jmx.export.annotation.ManagedAttribute; 
import org.springframework.jmx.export.annotation.ManagedResource; 
import org.springframework.stereotype.Component; 


@Component 
@ManagedResource 
public class MyClass { 

    @Autowired 
    private Example exampleService; 

    @ManagedAttribute 
    public String myExample() { 
     return exampleService.getSomething().toString(); 
    } 
} 

어떤 생각?

답변

5

대신 @ManagedOperation을 사용해야합니다. @ManagedAttribute은 getter/setter 메소드 전용입니다.

+0

유일한 차이점은 ManagedOperation이 모든 메소드에 대해 사용되고 ManagedAttribute가 getter 및 setter에만 해당된다는 것입니다. – Nimrod007

+1

Javadoc을 참조하십시오. ManagedOperation은 ManagedOperationParameters와 함께 설정할 수 있습니다. –