这期内容当中小编将会给大家带来有关怎么解决Eureka中Jersey 1.x版本过旧的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spring cloud是当前炙手可热的微服务开发框架。它的功能强大
这期内容当中小编将会给大家带来有关怎么解决Eureka中Jersey 1.x版本过旧的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
spring cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前spring Cloud还在不断发展之中。
Spring Cloud即将发布Spring Cloud Edgware
版本。该版本解决了不少Bug,新增了不少新特性。
Eureka服务器与客户端之间默认使用Jersey 1.x
进行基于Http协议的交互。然而我们团队,需使用Docker-client
(https://GitHub.com/docker-java/docker-java) 。这货只支持Jersey 2.x
,而Jersey 1.x与2.x并不兼容。
于是,我们团队面临如下几种选择:
使用Eureka提供的eureka-client-jersey2
模块,即使用Jersey 2.x
来代替Jersey 1.x
https://github.com/Netflix/eureka/tree/master/eureka-client-jersey2 。然而,这种方式不够稳妥,原因是eureka-client-jersey2
是由社区提供,并非由Eureka官方团队维护,并且已经很久不更新了。
放弃使用docker-client
,使用其他的Docker客户端,例如https://github.com/spotify/docker-client (该项目支持Jersey 1.x以及Jersey 2.x)。
升级Spring Cloud Netflix
到1.4.x,即:Spring Cloud Edgware
【笔者认为的最佳方案】。
本文探讨的就是在Spring Cloud Edgware
中Eureka的点点滴滴。
Spring Cloud Edgware
中,Jersey并非必选。可为Eureka Client禁用掉Jersey,转而使用我们想要的HTTP客户端,例如RestTemplate。只需将Jersey的包从依赖中删除,Spring Cloud就会自动配置一个基于Spring RestTemplate
的传输客户端。操作如下:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <exclusions> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-apache-client4</artifactId> </exclusion> </exclusions></dependency>
简单的操作后,有两个好处:
再也不用烦Jersery的版本冲突问题
依赖减少了一些。
上述就是小编为大家分享的怎么解决Eureka中Jersey 1.x版本过旧的问题了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。
--结束END--
本文标题: 怎么解决Eureka中Jersey 1.x版本过旧的问题
本文链接: https://lsjlt.com/news/295364.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0