无法在Tomcat中与jmxmp连接

时间:2012-09-05 14:00:40

标签: java spring tomcat jmx

在我的spring + tomcat解决方案中,我遇到了一个问题,jmxmp连接。

我在tomcat中启用了jmx +添加了jmxremote_optional.jar

这是manager.log

  

信息:JMXProxy:获取属性java.lang时出错:type = MemoryPool,name = Code Cache CollectionUsageThreshold

     

javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:CollectionUsage阈值是   不支持

     

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = Code Cache   CollectionUsageThresholdCount javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:CollectionUsage阈值是   不支持

     

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = Code Cache   CollectionUsageThresholdExceeded   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:CollectionUsage阈值是   不支持

     

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   卡塔利娜:类型=资源,资源型=全局的class = org.apache.catalina.UserDatabase,NAME = “UserDatabase”   modelerType javax.management.AttributeNotFoundException:找不到   属性modelerType

     

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Eden Space UsageThreshold   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Eden Space UsageThresholdCount   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Eden Space UsageThresholdExceeded   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Survivor Space UsageThreshold   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Survivor Space UsageThresholdCount   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = PS Survivor Space   UsageThresholdExceeded javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:使用率阈值不是   支持的

     

05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = Code Cache CollectionUsageThreshold   javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:CollectionUsage阈值是   不支持   05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = Code Cache   CollectionUsageThresholdCount javax.management.RuntimeMBeanException:   java.lang.UnsupportedOperationException:CollectionUsage阈值是   不支持   05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext log INFO:JMXProxy:获取属性时出错   java.lang:type = MemoryPool,name = Code Cache Collecti

这是spring con.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd"
    default-lazy-init="true">
    <bean id="test" class="test.Test" />
    <!-- <bean class="org.springframework.jmx.support.MBeanServerFactoryBean">
        <property name="locateExistingServerIfPossible" value="true" />
    </bean> -->
    <bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean"/>
    <bean class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
        <property name="assembler">
            <bean class="org.springframework.jmx.export.assembler.MethodNameBasedMBeanInfoAssembler"            >
                <property name="managedMethods">
                    <list>
                        <value>getVal</value>
                        <value>setVal</value>
                    </list>
                </property>
            </bean>
        </property>
        <property name="beans">
            <map>
                <entry key="bean:name=Test" value-ref="test"/>
            </map>
        </property>
    </bean>
</beans>

这是java bean

public class Test {
    private String val = "";
    public String getVal() {
        return val;
    }
    public void setVal(String v) {
        val = v;
    }
}

1 个答案:

答案 0 :(得分:0)

我会回答我自己的问题:)。

问题是,端口9875(jmxmp的默认端口)被另一个服务使用。 希望它可以帮助其他人并节省他的时间