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

0 ответов

Другие вопросы по тегам