简体   繁体   English

无法与Tomcat中的jmxmp连接

[英]Unable to connect with jmxmp in Tomcat

In my spring + tomcat solution I have a problem, with jmxmp connection. 在我的spring + tomcat解决方案中,jmxmp连接有问题。

I have enabled jmx in tomcat + added jmxremote_optional.jar 我已经在tomcat中启用了jmx +添加了jmxremote_optional.jar

This is manager.log 这是manager.log

INFO: JMXProxy: Error getting attribute java.lang:type=MemoryPool,name=Code Cache CollectionUsageThreshold INFO:JMXProxy:获取属性java.lang:type = MemoryPool,name = Code Cache CollectionUsageThreshold时出错

javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: CollectionUsage threshold is not supported javax.management.RuntimeMBeanException:java.lang.UnsupportedOperationException:不支持CollectionUsage阈值

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO: JMXProxy: Error getting attribute java.lang:type=MemoryPool,name=Code Cache CollectionUsageThresholdCount javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: CollectionUsage threshold is not supported 05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext日志信息:JMXProxy:获取属性java.lang:type = MemoryPool,name =代码缓存CollectionUsageThresholdCount javax.management.RuntimeMBeanException:java.lang.UnsupportedOperationException:错误不支持CollectionUsage阈值

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO: JMXProxy: Error getting attribute java.lang:type=MemoryPool,name=Code Cache CollectionUsageThresholdExceeded javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: CollectionUsage threshold is not supported 05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext日志信息:JMXProxy:获取属性java.lang:type = MemoryPool,name =代码缓存CollectionUsageThresholdExceeded javax.management.RuntimeMBeanException:java.lang.UnsupportedOperationException错误:不支持CollectionUsage阈值

05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext log INFO: JMXProxy: Error getting attribute Catalina:type=Resource,resourcetype=Global,class=org.apache.catalina.UserDatabase,name="UserDatabase" modelerType javax.management.AttributeNotFoundException: Cannot find attribute modelerType 05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext日志信息:JMXProxy:获取属性Catalina:type = Resource,resourcetype = Global,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: Error getting attribute java.lang:type=MemoryPool,name=PS Eden Space UsageThreshold javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:13 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=PS Eden Space UsageThresholdCount javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=PS Eden Space UsageThresholdExceeded javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=PS Survivor Space UsageThreshold javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=PS Survivor Space UsageThresholdCount javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=PS Survivor Space UsageThresholdExceeded javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: Usage threshold is not supported 05.09.2012 16:33:14 org.apache.catalina.core.ApplicationContext日志信息: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: Error getting attribute java.lang:type=MemoryPool,name=Code Cache CollectionUsageThreshold javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: CollectionUsage threshold is not supported 05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext log INFO: JMXProxy: Error getting attribute java.lang:type=MemoryPool,name=Code Cache CollectionUsageThresholdCount javax.management.RuntimeMBeanException: java.lang.UnsupportedOperationException: CollectionUsage threshold is not supported 05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext log INFO: JMXProxy: Error getting attribute java.lang:type=MemoryPool,name=Code Cache Collecti 05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext日志信息:JMXProxy:获取属性java.lang:type = MemoryPool,name =代码缓存CollectionUsageThreshold javax.management.RuntimeMBeanException:java.lang.UnsupportedOperationException错误:不支持CollectionUsage阈值05.09.2012 16:33:50 org.apache.catalina.core.ApplicationContext日志信息: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日志信息:JMXProxy:获取属性java.lang:type = MemoryPool,name = Code Cache Collecti时出错

This is spring con.xml 这是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>

This is java bean 这是java bean

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

I will response to my own question :). 我将回答我自己的问题:)。

Problem was, port 9875 (default port of jmxmp) was used by another service. 问题是端口9875(jmxmp的默认端口)已被另一个服务使用。 Hope it helps anybody else and save his time 希望它可以帮助其他人并节省时间

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM