You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2019/03/21 04:42:14 UTC

[GitHub] [rocketmq] ruanxuefeng opened a new issue #1103: ParameterizedTypeImpl incompatible with java.lang.Class

ruanxuefeng opened a new issue #1103: ParameterizedTypeImpl incompatible with java.lang.Class
URL: https://github.com/apache/rocketmq/issues/1103
 
 
   ```
   public class Listener implements RocketMQListener<List<Entity>> {
       @Override
       public void onMessage(List<Entity> message) {
       }
   }
   ```
   can't work!
   ```
   public class Listener implements RocketMQListener<Entity> {
       @Override
       public void onMessage(Entity message) {
       }
   }
   ```
   can work!
   
   Error messageļ¼š
   ```
   org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer_2': Invocation of init method failed; nested exception is java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl incompatible with java.lang.Class
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1762)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
   	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$165.00000000146C5AD0.getObject(Unknown Source)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204)
   	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1111)
   	at org.apache.rocketmq.spring.autoconfigure.ListenerContainerConfiguration.registerContainer(ListenerContainerConfiguration.java:96)
   	at org.apache.rocketmq.spring.autoconfigure.ListenerContainerConfiguration$$Lambda$806.0000000014D70140.accept(Unknown Source)
   	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
   	at org.apache.rocketmq.spring.autoconfigure.ListenerContainerConfiguration.afterSingletonsInstantiated(ListenerContainerConfiguration.java:76)
   	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:866)
   	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
   	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.vonu.energy.consume.EnergyConsumeApplication.main(EnergyConsumeApplication.java:21)
   	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)
   Caused by: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl incompatible with java.lang.Class
   	at org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer.getMessageType(DefaultRocketMQListenerContainer.java:368)
   	at org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer.afterPropertiesSet(DefaultRocketMQListenerContainer.java:269)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1821)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758)
   	... 27 common frames omitted
   
   ```
   Does RocketMQListener not support List?Or is it wrong with me?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services