javax.management.remote.jmxmp.JMXMPConnector.connect не работает
Я использую соединители JMXMP для доступа к mbeans в webshpere. Я следил за документами и реализовал код, но теперь получаю следующую ошибку.
Блок кода и фрагменты файла контекста Spring предоставлены для справки. Может ли кто-нибудь дать предложения?
<!-- Client connector to JMX over JMXMP -->
<bean id="clientConnectorSpringJMX"
class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean">
<property name="serviceUrl" value="service:jmx:jmxmp://localhost:19875"/>
</bean>
<!-- Client ServerManager proxy to JMX over JMXMP -->
<bean id="serverManagerProxy" class="org.springframework.jmx.access.MBeanProxyFactoryBean">
<property name="objectName" value="org.springbyexample.jmx:name=ServerManager"/>
<property name="proxyInterface" value="com.mbean.impl.ServerManager"/>
<property name="server" ref="clientConnectorSpringJMX"/>
</bean>
<bean id="checkAllMbeanOperatins" class="com.mbean.impl.CreateAndRegisterMBeanInMBeanServer" init-method="listServers" >
<constructor-arg ref="serverManagerProxy" />
</bean>
<bean id="checkAllMbeanOperatins2" class="com.mbean.impl.TestProgram" init-method="init" />
открытый класс CreateAndRegisterMBeanInMBeanServer {
@Autowired
MBeanServerConnection clientConnectorSpringJMX ;
@Autowired
@Qualifier("serverManagerProxy")
ServerManager serverManager;
public CreateAndRegisterMBeanInMBeanServer(
ServerManager serverManager) {
super();
this.serverManager = serverManager;
}
public static void main(String[] args) throws Exception {
System.out.println("JB in main method...");
}
}
public class TestProgram {
public static void main(String[] args) {
// TODO Auto-generated method stub
init();
}
public static void init(){
MBeanInfo beanInfo = null;
CreateAndRegisterMBeanInMBeanServer c =
(CreateAndRegisterMBeanInMBeanServer) SpringUtil.getApplicationContext()
.getBean("checkAllMbeanOperatins");
try {
ObjectName o = new ObjectName("org.springbyexample.jmx:name=ServerManager");
System.out.println("Going to get mbean info...");
beanInfo = c.clientConnectorSpringJMX.getMBeanInfo(o);
} catch (InstanceNotFoundException e) {
System.out.println("InstanceNotFoundException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
} catch (IntrospectionException e) {
System.out.println("IntrospectionException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
} catch (MalformedObjectNameException e) {
System.out.println("MalformedObjectNameException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
} catch (ReflectionException e) {
System.out.println("ReflectionException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
} catch (NullPointerException e) {
System.out.println("NullPointerException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.out.println("IOException: ListMbeanOperations failed"+e.getMessage());
e.printStackTrace();
}
System.out.println("MBean info is null."+ beanInfo);
System.out.println("MBean info attribute list is null."+beanInfo.getAttributes());
System.out.println("Number of attributes should be " + beanInfo.getAttributes().length);
System.out.println("MBean info operation list is null."+ beanInfo.getOperations());
System.out.println("Number of operations should be " + beanInfo.getOperations().length);
System.out.println("serverName={}, serverRunning={}"+
c.serverManager.getServerName()+ "::" + c.serverManager.isServerRunning());
}
}
[24.10.19 6:40:05:383 EDT] 00000074 webapp E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Исключение при инициализации контекста: {0} org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'clientConnectorSpringJMX', определенным в ресурсе пути к классу [applicationContext-utility.xml]: Не удалось вызвать метод инициализации; вложенное исключение - это java.io.StreamCorruptedException: недопустимый заголовок потока: 48545450 в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) в orrameBeanBeanFactory.java:1574. AbstractAutowireCapableBeanFactory.java:539) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) в org.springframework.beans.factory.support.AbstractBeanFactory. (DefaultSingletonBeanRegistry.java:230) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) в org.springframework.beans.factory.Abject.AbstractBeanBeans.factory.Abject.AbstractBean org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:736) в org.springframework.context.support.AbstractApplicationContext.finishBeantext.ApplicationInitishBeantext.java757) по адресу org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) по адресу org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(Contextweekly.configureAndRefreshContextWebApplicationContext (ContextweekLoader.frame.context.java:.initWebApplicationContext(ContextLoader.java:306) в org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) в com.ibm.ws.webcontainer.webapp.WebApp.Context7Apprevlet (WebApp.NotifyCrevlet) com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:411) на com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) на com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:170) в com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:904) по адресу com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:789) по адресу com.ibm.ws.webcontainer.component.WebContainer.java.install(WebContainerImpl). в com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:719) в com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177) в com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1382) по адресу com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639) по адресу com.ibm.ws.Runtime..java:971) на com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776) на com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2195) в com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5477) в com.ibm.ws.security.auth.ContextManagerImpl.run(ContextManagerImpl.java:5603) в com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255) в com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2200) в com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:435) в com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123) в com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:378) на com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:126) на com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:984) на com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:50mread2s.wsComponentImpl.java:50mread.w. Worker.run(ThreadPool.java:1881) Вызвано: java.io.StreamCorruptedException: недопустимый заголовок потока: 48545450 в java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:886) в java.io.ObjectInputStream.(ObjectInputStream. (javaInputStream.:349) в com.sun.jmx.remote.socket.SocketConnection$ObjectInputStreamWithLoader.(SocketConnection.java:394) в com.sun.jmx.remote.socket.SocketConnection.readMessage(SocketConnection.java:244) в com.sun.jmx.remote.opt.security.AdminClient.connectionOpen(AdminClient.java:97) в com.sun.jmx.remote.generic.ClientSynchroMessageConnectionImpl.connect(ClientSynchroMessageConnectionImpl.java:112) в javax.management.remote.generic.GenericConnector.connect(GenericConnector.java:217) в javax.management.remote.jmxmp.JMXMPConnector.connectnector.MjavaPConnector.connect (Javax..remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:280) при org.springframework.jmx.support.MBeanServerConnectionFactoryBean.connect(MBeanServerConnectionFactoryBean.java:133) в org.springframework.jmx.support.MBeanServerConnectionFactoryBean.afterPropertiesSet(MBeanServerConnectionFactoryBean.java:121) по адресу org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633) по адресу org.springframework.beans.factory.support.CstractapableAuto.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) ... еще 37