赞
踩
最近对接硬件,用了netty,业务需要,用mq进行推送和接收消息,在这个过程中,推送信息到其他服务是没有问题,但是当其他服务推送回来,netty所在服务作为消费者时,消费失败,没有任何反应,观察mq视图工具,确认消息是发送成功,没有被消费,于是试过了所有方法,网上也没有明确的解答。
当时启动netty时候用了这个注解:
通过百般思索和胡乱猜测,会不会是netty的启动过程导致了mq的监听失败,于是就换了种netty启动方式,可以直接把netty那个方法内容写在主启动类中。我这用的这种:
public class NettyServer implements ApplicationListener<ContextRefreshedEvent>
@Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { SpringUtil.getBean(NettyServer.class).start(); }
可以在网上搜一下,netty服务启动的方式就行。修改后就能够消费了(如果还是不行记得把SpringUtil.getBean(NettyServer.class).start();放在启动类main方法的最后再试一下。),就是@PostConstruct导致的,具体原因有待研究一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。