【Java】springboot2和eureka整合选择netty作为启动容器
最近刚上手springboot2,有很多大更新,准备研究一下spring-webflux使用内置的netty容器作为启动容器。
虽然刚上手遇到些坑,但是还算是如愿看到效果了。这是我整合spring-cloud-starter-netflix-eureka-server之前的pom
<dependencies><!-- Spring Boot Web Flux 依赖 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
</dependencies>
然后我想继续引入spring-cloud,踩了些坑也算运行起来了。但是一不留神看到启动日志中启动容器变为了tomcat,试了官方设置方式,引入spring-boot-starter-reactor-netty无效,还是tomcat启动
这是我引用之后的pom
<dependencies><dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!-- Spring Boot Web Flux 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- 使用netty作为启动容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</dependency>
</dependencies>
spring-cloud-starter-netflix-eureka-server这个引用会使我的启动容器变为tomcat,注释了就没问题。
我查看该引用的pom,最终在spring-cloud-netflix-eureka-server的pom中找到了他加了spring-boot-starter-web的引用,而这个引用中又引用了spring-boot-starter-tomcat。
我猜测是这一处造成的,但是我没有找到好的解决办法覆盖这个启动,请问有什么办法达到我的目的?
回答
没试过netty,但换jetty是这样:
<dependency> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
首先你需要把springboot集成的tomcat容器排除掉,
<dependency> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
然后再添加netty依赖才可以生效
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</dependency>
以上是 【Java】springboot2和eureka整合选择netty作为启动容器 的全部内容, 来源链接: utcz.com/a/89099.html