项目

一般

简介

spingboot 应用报 org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean的问题

由 huang junrui 在 大约 4 年 之前添加

异常信息:

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.springframework.cloud.context.environment.EnvironmentManager@710d745b] with key 'environmentManager'; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager
        at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:625)
        at org.springframework.jmx.export.MBeanExporter.lambda$registerBeans$2(MBeanExporter.java:551)
        at java.util.HashMap.forEach(HashMap.java:1289)
        at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:551)
        at org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:434)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:777)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:155)
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:135)
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
        at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
        at com.apusic.web.container.WebContainer.loadServletContainerInitializers(Unknown Source)
        at com.apusic.web.container.WebContainer.start(Unknown Source)
        at com.apusic.web.http.VirtualHost.addContext(Unknown Source)
        at com.apusic.web.http.HttpServer.loadWebModule(Unknown Source)
        at com.apusic.web.WebService.loadWebModule(Unknown Source)
        at com.apusic.deploy.runtime.WebModule.load(Unknown Source)
        at com.apusic.deploy.runtime.J2EEApplication.loadModules(Unknown Source)
        at com.apusic.deploy.runtime.J2EEApplication.startApplication(Unknown Source)
        at com.apusic.deploy.runtime.J2EEApplication.startService(Unknown Source)
        at com.apusic.service.Service.start(Unknown Source)
        at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source)
        at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source)
        at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.apusic.jmx.MBeanDescriptor.invoke(Unknown Source)
        at com.apusic.jmx.DynamicMBeanSupport.invoke(Unknown Source)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
        at com.apusic.aasadmin.core.jvm.jmx.util.MBeanInvokeUtils.invoke(MBeanInvokeUtils.java:683)
        at com.apusic.aasadmin.core.jvm.jmx.util.MBeanInvokeUtils.invoke(MBeanInvokeUtils.java:593)
        at com.apusic.aasadmin.core.server.aasengine.app.AASAppServerServiceImpl.deployAppInClient(AASAppServerServiceImpl.java:130)
        at com.apusic.aasadmin.core.app.impl.ApplifeCycleServiceImpl.deployAppInClient(ApplifeCycleServiceImpl.java:52)
        at com.apusic.aasadmin.monitor.web.controller.ApplicationMgmtController.deployApp(ApplicationMgmtController.java:355)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:853)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at com.apusic.web.container.ServletComponent.service(Unknown Source)
        at com.apusic.web.container.ServletFilterWrapper.doFilter(Unknown Source)
        at com.apusic.web.container.FilterChainImpl.doFilter(Unknown Source)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
        at com.apusic.web.container.FilterComponent.doFilter(Unknown Source)
        at com.apusic.web.container.FilterChainImpl.performFilter(Unknown Source)
        at com.apusic.web.container.WebContainer.invoke(Unknown Source)
        at com.apusic.web.container.WebContainer.doProcessRequest(Unknown Source)
        at com.apusic.web.container.WebContainer.processRequest(Unknown Source)
        at com.apusic.web.http.VirtualHost.processRequest(Unknown Source)
        at com.apusic.web.http.HttpServer.processRequest(Unknown Source)
        at com.apusic.web.http.HttpConnectionHandler.service(Unknown Source)
        at com.apusic.web.http.ConnectionHandler.processRequest(Unknown Source)
        at com.apusic.web.http.ConnectionHandler.processConnection(Unknown Source)
        at com.apusic.web.http.ConnectionHandler.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager
        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
        at org.springframework.jmx.support.MBeanRegistrationSupport.doRegister(MBeanRegistrationSupport.java:137)
        at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:679)
        at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:615)
        ... 77 common frames omitted

版本号:

解决时间:2021-10-12

解决方案:application.properties中加入 spring.jmx.default-domain=xxx,如在mydomin下,则 spring.jmx.default-domain=mydomain

界面现象:

日志截图:

解决操作:https://www.jianshu.com/p/47caabc1abcd