Caused by: org.apache.rocketmq.client.exception.MQClientException: the specified group is blank
Caused by: org.apache.rocketmq.client.exception.MQClientException: the specified group is blank
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
at org.apache.rocketmq.client.Validators.checkGroup(Validators.java:54)
at org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.checkConfig(DefaultMQPushConsumerImpl.java:639)
at org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.start(DefaultMQPushConsumerImpl.java:559)
at org.apache.rocketmq.client.consumer.DefaultMQPushConsumer.start(DefaultMQPushConsumer.java:581)
at cn.itcast.wanxinp2p.consumer.message.GatewayNotifyConsumer.<init>(GatewayNotifyConsumer.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172)
... 19 more
这个异常是我用@Value()获取apollo上的配置文件 是出的错 !!
代码:
构造方法里面 2 的位置 调用了 1 的值
发现获取的值 总是为空,最后恍然醒悟,类的构造方法的加载时机优先于上面的类属性,在加载构造方法的数据时,类属性还没有去apollo中获取数据,所以为空
解决办法:
把获取值的@Value()放置到形参中: