Advertisement

springboot与netty整合产生的打包问题

阅读量:

背景

该现象表现得较为异常,在完成Spring Boot与Netty的集成后,打包过程会持续停滞于Netty相关环节,无法继续进行,最终导致打包失败。

解决方案

针对这一问题,首先考虑到的是在测试阶段是否存在某些持续监听的操作,从而导致测试流程无法正常通过。因此,决定让maven跳过测试步骤,再进行打包操作,结果发现打包过程顺利进行。要实现跳过测试步骤,只需在pom文件中添加以下属性配置:

复制代码
      <!--  因为netty存在启动时的监听,所以test环节在执行项目的过程中,老是卡住执行不过去。      -->
        <maven.test.skip>true</maven.test.skip>
    
    
      
      
    

然而,即便移除测试代码并进行打包操作,问题依旧未能解决,必须针对这一问题进行处理。最终我发现,是netty的监听机制占用了程序运行的主线程,致使在打包过程中程序流程无法正常执行。只要将netty的监听方式调整为异步模式,避免对主线程造成阻塞,即可实现打包过程的顺畅进行。

复制代码
    @Component
    @Slf4j
    public class ServerStarter implements CommandLineRunner {
    

全部评论 (0)

还没有任何评论哟~