我正在使用带有 devtools
支持的 Spring Boot 1.5.6。但是当我更改时,开发工具将尝试重新启动代码。这是抛出Failed to unregister LiveBeansView MBean;嵌套异常是 javax.management.InstanceNotFoundException
错误。
堆栈跟踪:
14:12:00.433 [Thread-11] WARN o.s.c.a.AnnotationConfigApplicationContext - Exception thrown from ApplicationListener handling ContextClosedEvent
org.springframework.context.ApplicationContextException: Failed to unregister LiveBeansView MBean; nested exception is javax.management.InstanceNotFoundException: DefaultDomain:application=/tenancy
at org.springframework.context.support.LiveBeansView.unregisterApplicationContext(LiveBeansView.java:89)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:985)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:956)
at org.springframework.boot.builder.ParentContextCloserApplicationListener$ContextCloserListener.onApplicationEvent(ParentContextCloserApplicationListener.java:102)
at org.springframework.boot.builder.ParentContextCloserApplicationListener$ContextCloserListener.onApplicationEvent(ParentContextCloserApplicationListener.java:86)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:382)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:336)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:989)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:956)
at org.springframework.boot.devtools.restart.Restarter.stop(Restarter.java:321)
at org.springframework.boot.devtools.restart.Restarter$2.call(Restarter.java:258)
at org.springframework.boot.devtools.restart.Restarter$2.call(Restarter.java:254)
at org.springframework.boot.devtools.restart.Restarter$LeakSafeThread.run(Restarter.java:627)
Caused by: javax.management.InstanceNotFoundException: DefaultDomain:application=/tenancy
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(Unknown Source)
at org.springframework.context.support.LiveBeansView.unregisterApplicationContext(LiveBeansView.java:86)
... 14 common frames omitted
最佳答案
我可以解决这个问题:
发生这种情况是因为 spring.jmx
已启用。即使您将应用程序属性设置为 spring.jmx.enabled=false ,它也不起作用。因为如果您将应用程序作为 Spring Boot App 运行。它由 STS 自动启用。
解决方案
从启动仪表板关闭 apring.jmx.enabled
。通过选择项目>单击铅笔(编辑)>取消选中启用JMX。
关于java - Spring boot devtools 无法重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45542820/