java - Spring boot devtools 无法重新启动应用程序

标签 java spring spring-boot spring-jmx

我正在使用带有 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。

enter image description here

关于java - Spring boot devtools 无法重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45542820/

相关文章:

java - 来自 MarkLogic Java 客户端 API 的 HTTP 连接遇到死锁

spring - 在 Maven 布局中使用 Spring 或 Camel 属性占位符覆盖 junit 测试的一些属性

java - 如何创建Reactor Netty热流

java - 不兼容的类型 : java. util.Optional<xyz.app.entity.Users> 无法转换为Users(Springboot编译错误)

java - Spring Boot 无法呈现(非常)简单的 index.jsp

java - java中从xml中获取内容

java - 将 Json 字符串解析为 Map

java - 为什么我无法在接口(interface)中创建默认方法?

java - Autowiring 在 Junit 测试和 spring @configuration 中失败

Spring websocket 重写 DefaultUserDestinationResolver