2013-05-23 3 views
0

클래스를 MBean에 등록 할 수 있지만 jconsole을 통해 연결할 수 없습니다. JVM 매개 변수를 통해 jmx 인증을 비활성화했지만이 응용 프로그램을 실행하는 데 연결할 수없는 이유는 무엇입니까? 여기 JMX 인증을 사용하는 스프링

내 자바 클래스, 스프링 특성 파일과 JVM은

package com.mkyong.jmx; 

public interface JmxCoreComands { 
    public void start(); 
    public void stop(); 
    public void report(); 
} 


package com.mkyong.jmx; 

import org.springframework.stereotype.Service; 

@Service 
public class JmxService implements JmxCoreComands { 

    @Override 
    public void start() { 
     System.out.println("Jmx Service start"); 
    } 

    @Override 
    public void stop() { 
     System.out.println("jmx service stop"); 
    } 

    @Override 
    public void report() { 
     System.out.println("jmx service report"); 
    } 

} 

봄 속성 XML 매개 변수 :

<bean id="jmxAdapter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> 
     <property name="beans"> 
      <map> 
       <entry key="SPRING:Name=TestRun"> 
        <ref bean="jmxService" /> 
       </entry> 
      </map> 
     </property> 
     <!-- managemethods property starts --> 
     <property name="assembler"> 
      <bean 
       class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler"> 
       <property name="managedInterfaces"> 
        <value>com.mkyong.jmx.JmxCoreComands</value> 
       </property> 
      </bean> 
     </property> 
     <!-- managemethods property ends --> 
    </bean> 

JVM 매개 변수 :

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8014 
-Dcom.sun.management.jmxremote.authenticate=false 
-Xmx1024M 
-Xdebug 
-Xnoagent 
-Xrunjdwp:transport=dt_socket,address=8454,server=y,suspend=n 
-Djava.compiler=NONE 
+0

JVisualVM을 JMXServer에 연결할 수 없습니까, 아니면 MXBean을 찾을 수 없습니까? - 오류/예외가 있습니까? – Ralph

+0

BTW : Bean은 MXBean이 아닌 MBean입니다 (MXBean의 명명 규칙은 인터페이스 이름이 "MXBean"으로 끝나는 것입니다). -하지만 이것은 현재 아무런 문제가되지 않습니다. – Ralph

+0

텔넷 8014 포트를 사용할 수는 있지만 빈 username과 password로 jconsole을 통한 연결을 설정하지 마십시오. JMX 심한 시간을 사용하여 올바른 매개 변수를 올바른 위치에 채우고 있음을 확신합니다. 게다가 거기에 예외가 발생하지 않습니다 자바 사이트 –

답변

2

차 후를 다음과 같이 JVM 구성을 조정하십시오. JMX를 통해 애플리케이션을 연결할 수 있습니다.

-Djava.rmi.server.hostname=127.0.0.1 
-Dcom.sun.management.jmxremote.port=8014 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
관련 문제