0

クラスを MBean に登録できますが、jconsole 経由で接続できませんでした。JVM パラメータを介して jmx 認証を無効にしたのに、このアプリケーションの実行に接続できなかったのはなぜですか。

これが私のJavaクラス、スプリングプロパティファイル、および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
4

1 に答える 1

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
于 2013-05-23T12:19:52.657 に答える