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上的配置文件 是出的错   !!

代码:

Caused by: org.apache.rocketmq.client.exception.MQClientException: the specified group is blank

 

构造方法里面  2 的位置 调用了  1 的值

发现获取的值 总是为空,最后恍然醒悟,类的构造方法的加载时机优先于上面的类属性,在加载构造方法的数据时,类属性还没有去apollo中获取数据,所以为空

 

 

解决办法:

把获取值的@Value()放置到形参中:

Caused by: org.apache.rocketmq.client.exception.MQClientException: the specified group is blank