Я использую JMXMP-коннекторы для доступа к mbean-компонентам в веб-интерфейсе. Я следовал за документами и реализовал код, но теперь получаю следующую ошибку.
Блок кода и фрагменты контекстного файла пружины предоставлены для справки. Кто-нибудь может дать предложения?
<!-- 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...");
}
}
открытый класс 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: Ошибка создания бина с именем 'clientConnectorSpringJMX', определенным в ресурсе пути к классу [applicationContext-utility.xml]: сбой вызова метода init;вложенное исключение: java.io.StreamCorruptedException: недопустимый заголовок потока: 48545450 в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.javatoe.BeBFB.FB.WB.WB.WB.WBB.WB.WB.BB.WB.WB.BB.Core.By.By.By.By.Sy.S.F .Be .F. .F .Be... .B. AbstractAutowireCapableBeanFactory.java:539) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:47.jpgorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) в org.springframework.beans.factory.support. support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194) в org.springframework.beans.factory.support.DefaultListableBeanFactory. .springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:403) по адресу org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.raxtenteteoTerg.defiso.serf.pl.serf.t.dll).java: 106) на com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated (WebApp.java:1707) на com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize (WebAppImpl.java:4). ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication (WebGroupImpl.java:88) в com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication (VirtualHostImpl.java:170) в com.ibb.ws. ntainer.WSWebContainer.addWebApp (WSWebContainer.java:904) на com.ibm.ws.webcontainer.WSWebContainer.addWebApplication (WSWebContainer.java:789) на com.ibm.ws.webcontainer.component.Wava.IconContainer ()427) на 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.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:971) в com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication (ApplicationMgrImpl.java:776) в com.ibm.ws.runtime.component.ApplicationMgrImpl $ 5.run (ApplicationMgrI95:в com.ibm.ws.security.auth.ContextManagerImpl.runAs (ContextManagerImpl.java:5477) в com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem (ContextManagerImpl.java:5603) в com.ibm.wsec.core.SecurityContext.runAsSystem (SecurityContext.java:255) в com.ibm.ws.runtime.component.ApplicationMgrImpl.start (ApplicationMgrImpl.java:2200) в com.ibm.ws.runtime.component.CompositionUnitMlImpll.java: 435) на com.ibm.ws.runtime.component.CompositionUnitImpl.start (CompositionUnitImpl.java:123) на com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start (CompositionUnitMgrImpl.java .:37:. ibm.ws.runtime.component.CompositionUnitMgrImpl.access $ 500 (CompositionUnitMgrImpl.java:126) в com.ibm.ws.runtime.component.CompositionUnitMgrImpl $ CUInitializer.run (CompositionUnitwss.mp. .component.WsComponentImpl $ _AsynchInitializer.run (WsComponentImpl.java:502) в com.ibm.ws.util.ThreadPool $ Worker.run (ThreadPool.java:1881) Вызванный: Java.io.StreamCorruptedException: недопустимый заголовок потока: 48545450 в java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:886) в java.io.ObjectInputStream. (ObjectInputStream.java: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.conent.java: 97) в com.sun.jmx.remote.generic.ClientSynchroMessageConnectionImpl.connect (ClientSynchroMessageConnectionImpl.java:112) в javax.management.remote.generic.GenericConnector.connect (GenericConax.manav.jav at. java)remote.jmxmp. в org.springframework.jmx.support.MBeanServerConnectionFactoryBean.afterPropertiesSet (MBeanServerConnectionFactoryBean.java:121) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1633) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1570) ... еще 37