- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
退出JVM进程时偶尔提示NoClassDefFoundError,导致JVM进程正常退出。
https://github.com/spring-projects/spring-amqp/issues/822
我使用:
compile "org.springframework.boot:spring-boot-starter-amqp:2.0.5.RELEASE"
错误1:
2018-10-15 11:16:27,350 [Thread-13] [] [WARN ] o.s.c.s.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:264) - Failed to stop bean 'org.springframework.amqp.rabbit.config.internalRabbitListenerEndpointRegistry'
java.lang.NoClassDefFoundError: org/springframework/amqp/rabbit/listener/RabbitListenerEndpointRegistry$AggregatingCallback
at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.stop(RabbitListenerEndpointRegistry.java:260)
at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:238)
at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:53)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:377)
at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:210)
at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:128)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1005)
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:933)
Caused by: java.lang.ClassNotFoundException: org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry$AggregatingCallback
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 8 common frames omitted
错误2:
2018-10-15 11:16:57,353 [Thread-13] [] [INFO ] o.s.c.s.DefaultLifecycleProcessor.stop(DefaultLifecycleProcessor.java:387) - Failed to shut down 1 bean with phase value 2147483647 within timeout of 30000: [org.springframework.amqp.rabbit.config.internalRabbitListenerEndpointRegistry]
2018-10-15 11:16:57,358 [Thread-13] [] [WARN ] o.s.c.s.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:264) - Failed to stop bean 'rabbitTemplate'
java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/springframework/amqp/rabbit/listener/DirectReplyToMessageListenerContainer
at org.springframework.amqp.rabbit.core.RabbitTemplate.isRunning(RabbitTemplate.java:791)
at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:231)
at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:53)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:377)
at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:210)
at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:128)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1005)
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:933)
Caused by: java.lang.NoClassDefFoundError: org/springframework/amqp/rabbit/listener/DirectReplyToMessageListenerContainer
... 8 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.amqp.rabbit.listener.DirectReplyToMessageListenerContainer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 8 common frames omitted
2018-10-15 11:16:57,364 [AMQP Connection 192.168.31.231:5672] [] [ERROR] c.r.c.i.ForgivingExceptionHandler.log(ForgivingExceptionHandler.java:119) - An unexpected connection driver error occured
java.lang.NoClassDefFoundError: com/rabbitmq/client/impl/ConsumerDispatcher$2
at com.rabbitmq.client.impl.ConsumerDispatcher.handleCancelOk(ConsumerDispatcher.java:91)
at com.rabbitmq.client.impl.ChannelN$7.transformReply(ChannelN.java:1464)
at com.rabbitmq.client.impl.ChannelN$7.transformReply(ChannelN.java:1458)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.handleCommand(AMQChannel.java:478)
at com.rabbitmq.client.impl.RpcContinuationRpcWrapper.complete(RpcContinuationRpcWrapper.java:38)
at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:196)
at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:111)
at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:643)
at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:47)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:581)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.rabbitmq.client.impl.ConsumerDispatcher$2
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 11 common frames omitted
线程转储:
"Thread-13" #45 prio=5 os_prio=0 tid=0x00007f000c024800 nid=0x108b in Object.wait() [0x00007effcd4e4000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000e779bf50> (a com.rabbitmq.utility.BlockingValueOrException)
at com.rabbitmq.utility.BlockingCell.get(BlockingCell.java:73)
- locked <0x00000000e779bf50> (a com.rabbitmq.utility.BlockingValueOrException)
at com.rabbitmq.utility.BlockingCell.uninterruptibleGet(BlockingCell.java:120)
- locked <0x00000000e779bf50> (a com.rabbitmq.utility.BlockingValueOrException)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:494)
at com.rabbitmq.client.impl.ChannelN.basicCancel(ChannelN.java:1477)
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:1032)
- locked <0x0000000088906598> (a java.lang.Object)
at com.sun.proxy.$Proxy84.basicCancel(Unknown Source)
at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.basicCancel(BlockingQueueConsumer.java:399)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doShutdown(SimpleMessageListenerContainer.java:521)
- locked <0x0000000088906a60> (a java.lang.Object)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.shutdown(AbstractMessageListenerContainer.java:1100)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.destroy(AbstractMessageListenerContainer.java:1042)
at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.destroy(RabbitListenerEndpointRegistry.java:221)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:256)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1054)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1061)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1037)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1013)
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:933)
- locked <0x00000000879b14a8> (a java.lang.Object)
Rabbit.MainLoopThread
已退出,但 SimpleMessageListenerContainer
仍在等待消息响应。事实上,它永远不会收到消息。该线程会阻止 JVM 进程正常退出。
不知道为什么这里会提示NoClassDefFoundError。我确信这些类确实存在,但这不一定是可能的。我还没有找到重现方法。最初我使用的是ampq-client-4.0.x,我认为它太低了,我升级了spring-boot-2.x和ampq-client-5.x,但也有同样的问题。我真的感到很无助。请给我一些提示。
这是我的依赖。 spring-boot-starter-amqp 是默认值。我没有修改它。
\--- org.springframework.boot:spring-boot-starter-amqp:2.0.5.RELEASE
+--- org.springframework.boot:spring-boot-starter:2.0.5.RELEASE (*)
+--- org.springframework:spring-messaging:5.0.9.RELEASE
| +--- org.springframework:spring-beans:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
| \--- org.springframework:spring-core:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
\--- org.springframework.amqp:spring-rabbit:2.0.6.RELEASE
+--- org.springframework.amqp:spring-amqp:2.0.6.RELEASE
| +--- org.springframework:spring-core:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
| \--- org.springframework.retry:spring-retry:1.2.2.RELEASE
| \--- org.springframework:spring-core:4.3.13.RELEASE -> 5.1.0.RELEASE (*)
+--- com.rabbitmq:amqp-client:5.1.2
| \--- org.slf4j:slf4j-api:1.7.25
+--- org.springframework:spring-context:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
+--- org.springframework:spring-messaging:5.0.9.RELEASE (*)
+--- org.springframework:spring-tx:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
\--- org.springframework:spring-web:5.0.9.RELEASE -> 5.1.0.RELEASE (*)
This is my dependence. spring-boot-starter-amqp is the default. I didn't modify it.
最佳答案
如果您使用 newrelic 代理,请在 newrelic 配置中禁用 spring oap 检测。前任: com.newrelic.instrumentation.spring-aop-2: 启用:假
关于java - spring-boot shutdown 兔子 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52809573/
Rabbitmq 服务器未启动,表示它已经在运行: $: rabbitmq-server Activating RabbitMQ plugins ... 0 plugins activated: no
我正在尝试在我的 kubernetes 中部署一个 rabbitmq pod。所以我使用 Google 托管的 rabbitmq:https://github.com/GoogleCloudPlatf
使用 channel 一段时间后,我的rabbitmq重新启动。 然后,当 java 客户端应用程序(仍在运行)尝试使用 channel 时 - 我尝试使用关闭 channel 。 有没有办法检查 c
我是 RabbitMq 新手。我们正在评估它与 Rails 应用程序的生产用途,目前用于后台邮件系统。 RabbitMq 教程呈现 bunny gem 。在它的其他 gem 列表上,还有 sneake
退出JVM进程时偶尔提示NoClassDefFoundError,导致JVM进程正常退出。 https://github.com/spring-projects/spring-amqp/issues/
这是我的 rabbitmq 配置:
当前,我有一个用例,我需要从RabbitMQ消息总线获取消息,附加消息大小(以字节为单位),然后使用HDFS Sink输出消息。 首先,我创建了自己的处理器,该处理器将大小附加到消息中。我这样做的原因
我有一个非常基本的问题。我想做低阶矩阵分解,我正在查看 Vowpal Wabbit documentation关于这个话题。我的问题是: 这两种方法之间有区别吗?(实现或其他) $ vw --lrq
如果在线程中,我无法让队列订阅 block 执行。 例子来自 rubybunny/exchanges正如预期的那样有效。但是,如果与线程中的消费者部分相适应,则订阅者 block 似乎不会执行。 我尝
谁遇到过有关长耳大野兔的问题?跟踪如下: java.lang.OutOfMemoryError: Java heap space at org.apache.jackrabbit.core.query
我是一名优秀的程序员,十分优秀!