2012-06-26 3 views
5

Spring 프레임 워크를 사용하여 WITHOUT과 비슷한 것이 있습니까?Spring JMX와 유사한 JMX 내보내기 프레임 워크

SimpleJMX은 합리적인 것처럼 보이지만 한 사람 만 밀어 넣은 매우 젊은 프레임 워크 인 것처럼 보입니다.

JMX와 같이 많은 속성, 메소드 및 클래스를 노출해야하지만 JMX API를 사용하고 수많은 JMX 인터페이스를 작성하고 싶지는 않습니다.

그리고 프로젝트에 Spring을 소개 할 방법이 없다. 모든 힌트 나 아이디어는 크게 평가됩니다 :-)

답변

2

좋아, 나는 빨리 SimpleJMXJMXUtils을 평가했다. 둘 다 예상대로 작동하며 Spring JMX 수출 업체와 매우 유사합니다. 그러나 필자는 JMXUtils가 내 경우에 더 유용 할 것으로 생각한다.

JMXUtils를 사용하면 이미 시작된 플랫폼 mbean 서버에 MBeans를 등록/등록 취소하는 것이 매우 쉽습니다. 제 경우에는 GlassFish V3를 응용 프로그램 서버로 사용하고 있었으며 자신의 mbean만을 위해 다른 MBean Server를 시작하지 않았습니다.

SimpleJMX의 API가 이것을 허용하지 않고 SimpleJMX API를 사용하여 다른 MBeanServer를 시작하고 (API를 사용하여 매우 쉽게) mbean을 등록하도록 강요하거나 시도하는 것으로 시작하려고합니다. mbean을 플랫폼 mbean 서버에 등록하십시오. 나중에 좀 더 복잡해 지므로 JMXUtils를 사용하기로 결정했습니다.

JMXUtils의 단점은 bean 이름 조작입니다. SimpleJMX는 매우 유용한 주석 (domainName, beanName)의 속성을 사용하지만 JMXUtils에서는 mbean 도메인을 사용할 때 mbean의 이름을 지정하는 구문을 알아야합니다. 모두 큰 문제는 아니지만 내 취향에 따라 SimpleJMX가 더 나은 솔루션을 제공합니다.

결론은 두 라이브러리가 훌륭하고 잘 작동한다는 것입니다. JMXUtils를 사용하기로 결정했습니다.

+0

기록을 위해 SimpleJMX는 플랫폼 mbean 서버를 사용할 수 있도록합니다. – Gray

2

나는 캠 org.weakref.jmxutils 라이브러리 commons-dbcp-jmx입니다. 예제 ManagedBasicDataSource.java을 체크 아웃 :

@Managed(description = "The current number of active connections that have been allocated from this data source.") 
public synchronized int getNumActive() { 
    return super.getNumActive(); 
} 

내가 해당 라이브러리 나 자신을 사용하지 않는,하지만 작동하는 것 같다 없어요.

+0

고마워요. 이것은 매우 유용하게 들립니다. 나는 그것을 시험해보고 그것을 SimpleJMX와 비교할 것이다. JMXUtils는 한 사람이 관리하지만 github에서는 활성 상태 인 것으로 보입니다. 적어도 거기에는 대안이 있습니다 :-) – qupera

관련 문제