【问题标题】:spring-boot-starter-amqp.1.7.4.Release can't stopspring-boot-starter-amqp.1.7.4.Release 无法停止
【发布时间】:2019-03-26 20:47:06
【问题描述】:

我们使用 spring-boot-starter-amqp.1.7.4.Release 。当我们试图杀死这个进程时,无法停止它。

这是线程转储。请帮帮我?

================================================ =========

"Thread-57" #104 prio=5 os_prio=0 tid=0x00007f4420038800 nid=0x39f6 in Object.wait() [0x00007f443d8d2000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at com.rabbitmq.utility.BlockingCell.get(BlockingCell.java:49)
    - locked <0x000000008ad818e0> (a com.rabbitmq.utility.BlockingValueOrException)
    at com.rabbitmq.utility.BlockingCell.uninterruptibleGet(BlockingCell.java:91)
    - locked <0x000000008ad818e0> (a com.rabbitmq.utility.BlockingValueOrException)
    at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:32)
    at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:366)
    at com.rabbitmq.client.impl.ChannelN.basicCancel(ChannelN.java:1280)
    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.amqp.rabbit.connection.CachingConnectionFactory$CachedChannelInvocationHandler.invoke(CachingConnectionFactory.java:980)
    - locked <0x0000000089d2a198> (a java.lang.Object)
    at com.sun.proxy.$Proxy107.basicCancel(Unknown Source)
    at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.basicCancel(BlockingQueueConsumer.java:392)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doShutdown(SimpleMessageListenerContainer.java:902)
    - locked <0x0000000089d2ac98> (a java.lang.Object)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.shutdown(AbstractMessageListenerContainer.java:558)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.destroy(AbstractMessageListenerContainer.java:522)
    at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.destroy(RabbitListenerEndpointRegistry.java:210)
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:256)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:576)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:552)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:953)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:521)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.destroySingletons(FactoryBeanRegistrySupport.java:227)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:960)
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1035)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1011)
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:933)
    - locked <0x0000000088706660> (a java.lang.Object)

"SIGTERM handler" #310 daemon prio=9 os_prio=0 tid=0x00007f4430014800 nid=0x39f1 in Object.wait() [0x00007f44588d9000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Thread.join(Thread.java:1252)
    - locked <0x0000000089e1f030> (a org.springframework.context.support.AbstractApplicationContext$1)
    at java.lang.Thread.join(Thread.java:1326)
    at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
    at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
    at java.lang.Shutdown.runHooks(Shutdown.java:123)
    at java.lang.Shutdown.sequence(Shutdown.java:167)
    at java.lang.Shutdown.exit(Shutdown.java:212)
    - locked <0x00000000877fa068> (a java.lang.Class for java.lang.Shutdown)
    at java.lang.Terminator$1.handle(Terminator.java:52)
    at sun.misc.Signal$1.run(Signal.java:212)
    at java.lang.Thread.run(Thread.java:748)

================================================ =========

添加版本信息

springBootVersion = "1.5.7.RELEASE"

springVersion = "5.0.1.RELEASE"

compile "org.springframework.boot:spring-boot-starter:$springBootVersion"
compile "org.springframework:spring-tx:$springVersion"
compile "org.springframework:spring-core:$springVersion"
compile "org.springframework:spring-beans:$springVersion"
compile "org.springframework:spring-context:$springVersion"
compile "org.springframework:spring-expression:$springVersion"
compile "org.springframework:spring-aop:$springVersion"
compile "org.springframework:spring-context-support:$springVersion"
compile "org.springframework.boot:spring-boot-starter-amqp:$springBootVersion"

================================================ ==========

【问题讨论】:

  • 没有 spring-boot-starter-amqp.1.7.4.Release 这样的东西 - 你似乎在混合 Boot 和 spring-amqp 版本。您还需要提供更多信息 - 配置等。
  • 现在,我有过去的版本信息。

标签: java spring-boot rabbitmq spring-amqp


【解决方案1】:

1.7.4快2岁了;当前的 1.7.x 版本是 1.7.12。

同样,当前的启动 1.5.x 版本是 1.5.19。

此外,与 Spring Framework 一起使用的正确 Boot 版本是 2.0.x。当前的 2.0.x 版本是 2.0.8(Spring 5.0.12)。

一般最好let boot manage all the dependency versions(有gradle插件)。

这样,您不必担心哪个版本与哪个兼容。

我建议,首先,您要正确对齐您的版本并更新。

话虽如此,该线程在 rabbitmq java 客户端(basicCancel)中被阻塞。

at com.rabbitmq.client.impl.ChannelN.basicCancel(ChannelN.java:1280)

我不知道什么条件会导致这种情况。应用程序日志中有什么有趣的东西吗?

你最好问问rabbitmq工程师是什么原因造成的;他们监视rabbitmq-usersGoogle 组的频率比 Stack Overflow 高得多。

【讨论】:

    猜你喜欢
    • 2020-06-02
    • 1970-01-01
    • 2017-05-12
    • 2018-03-28
    • 2018-09-26
    • 2018-05-14
    • 2019-11-21
    • 2014-04-07
    • 2016-06-03
    相关资源
    最近更新 更多