spring-boot: spring-boot-starter-parent 2.1.2.RELEASE amqp rabbit not work

i upgrade spring-boot-starter-parent 2.1.0.RELEASE to 2.1.2.RELEASE application can’t start


java.lang.IllegalAccessError: class org.springframework.amqp.rabbit.listener.$Proxy224 cannot access its superinterface org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer$ContainerDelegate
	at java.lang.reflect.Proxy.defineClass0(Native Method)
	at java.lang.reflect.Proxy.access$300(Proxy.java:228)
	at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:642)
	at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557)
	at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230)
	at java.lang.reflect.WeakCache.get(WeakCache.java:127)
	at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:719)
	at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:123)
	at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.initializeProxy(AbstractMessageListenerContainer.java:1135)
	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.initialize(AbstractMessageListenerContainer.java:1161)
	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.afterPropertiesSet(AbstractMessageListenerContainer.java:1109)
	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.createListenerContainer(RabbitListenerEndpointRegistry.java:186)
	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.registerListenerContainer(RabbitListenerEndpointRegistry.java:154)
	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.registerListenerContainer(RabbitListenerEndpointRegistry.java:128)
	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar.registerAllEndpoints(RabbitListenerEndpointRegistrar.java:140)
	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar.afterPropertiesSet(RabbitListenerEndpointRegistrar.java:133)
	at org.springframework.amqp.rabbit.annotation.RabbitListenerAnnotationBeanPostProcessor.afterSingletonsInstantiated(RabbitListenerAnnotationBeanPostProcessor.java:257)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:863)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
	at com.sixi.ali.appservice.AliAppServiceApplication.main(AliAppServiceApplication.java:15)
	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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

Running into the same issue but have no Sleuth in my project. Created a project that reproduces the problem: https://github.com/baev/spring-amqp-issue

Thank you, @baev. That tells us that it’s a general proxying problem rather than something specific to Sleuth.

I have similar problem, when my project use devtools then can’t start , remove devtools then ok . I try to make a tiny demo add spring detools + spring amqp starter + spring web starter , but demo is ok . So may be is my project too weird.

My project start exception is :


15:37:41.879	[restartedMain]	ERROR 	o.s.boot.SpringApplication 	-	 Application run failed org.springframework.beans.factory.BeanInitializationException: Failed to initialize message listener container; nested exception is org.springframework.amqp.UncategorizedAmqpException: java.lang.IllegalArgumentException: non-public interface is not defined by the given loader 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.createListenerContainer(RabbitListenerEndpointRegistry.java:189) 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.registerListenerContainer(RabbitListenerEndpointRegistry.java:154) 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.registerListenerContainer(RabbitListenerEndpointRegistry.java:128) 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar.registerAllEndpoints(RabbitListenerEndpointRegistrar.java:140) 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar.afterPropertiesSet(RabbitListenerEndpointRegistrar.java:133) 
 	at org.springframework.amqp.rabbit.annotation.RabbitListenerAnnotationBeanPostProcessor.afterSingletonsInstantiated(RabbitListenerAnnotationBeanPostProcessor.java:257) 
 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:863) 
 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863) 
 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) 
 	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) 
 	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) 
 	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) 
 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) 
 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) 
 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) 
 	at thelook.wms.App.main(App.java:28) 
 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 	at java.base/java.lang.reflect.Method.invoke(Method.java:566) 
 	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) 
 Caused by: org.springframework.amqp.UncategorizedAmqpException: java.lang.IllegalArgumentException: non-public interface is not defined by the given loader 
 	at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:83) 
 	at org.springframework.amqp.rabbit.connection.RabbitAccessor.convertRabbitAccessException(RabbitAccessor.java:116) 
 	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.initialize(AbstractMessageListenerContainer.java:1179) 
 	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.afterPropertiesSet(AbstractMessageListenerContainer.java:1109) 
 	at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.createListenerContainer(RabbitListenerEndpointRegistry.java:186) 
 	... 20 common frames omitted 
 Caused by: java.lang.IllegalArgumentException: non-public interface is not defined by the given loader 
 	at java.base/java.lang.reflect.Proxy$ProxyBuilder.mapToModule(Proxy.java:798) 
 	at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:630) 
 	at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$1(Proxy.java:426) 
 	at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329) 
 	at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205) 
 	at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:424) 
 	at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1006) 
 	at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:123) 
 	at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110) 
 	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.initializeProxy(AbstractMessageListenerContainer.java:1135) 
 	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.initialize(AbstractMessageListenerContainer.java:1161) 
 	... 22 common frames omitted