一背景

在引用一个公用的登录jar,发现是给老的springmvc用的。配置filter那种方式,改为springboot之后。不好使。

Caused by: java.lang.NoSuchMethodError: org.jboss.netty.handler.codec.http.HttpRequest.headers()Lorg/jboss/netty/handler/codec/http/HttpHeaders;at com.ning.http.client.providers.netty.request.NettyRequestFactory.newNettyRequest(NettyRequestFactory.java:178) ~[async-http-client-1.9.38.jar:na]at com.ning.http.client.providers.netty.request.NettyRequestSender.newNettyRequestAndResponseFuture(NettyRequestSender.java:181) ~[async-http-client-1.9.38.jar:na]at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithCertainForceConnect(NettyRequestSender.java:135) ~[async-http-client-1.9.38.jar:na]at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:117) ~[async-http-client-1.9.38.jar:na]at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:87) ~[async-http-client-1.9.38.jar:na]

查看了下pom.

当前引用为:

<dependency>
    <groupId>com.ning</groupId>
    <artifactId>async-http-client</artifactId>
    <version>1.9.38</version>
</dependency>

这个是2016年的,比较老了,而且最新的也是2016年的,已经没人维护了

尝试pom排除掉,引用1.9.40版本,还是报错。

算了,彻底放弃:改为asynchttpclient

pom.xml引用如下:

<dependency>
    <groupId>org.asynchttpclient</groupId>
    <artifactId>async-http-client</artifactId>
    <version>2.12.1</version>
</dependency>

之前方法的使用了是guava的异步配合接口。

这种:

 HttpListenableFuture<Response> future = HttpListenableFuture.wrap(client.executeRequest(builder.build()));return Futures.transform(future, new Function<Response, String[]>() {

新的API:异步GET请求

ListenableFuture<Response> future =
client.prepareGet( "url" ).execute( new AsyncCompletionHandler<Response>() {@Overridepublic Response onCompleted( Response response ) throws Exception {String resp = response.getResponseBody();return response;}@Overridepublic void onThrowable( Throwable t ) {// Something wrong happened.}
} );

异步post就不贴了。

类似的还有:

BoundRequestBuilder、addQueryParam  很多方法都要替换。

方法比较多,替换了一上午,再尝试发新的client包。替换。OK了。

com.ning.http.client 替换相关推荐

  1. Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient

    http 连接池能提升性能 http 的背景原理 a. 两台服务器建立 http 连接的过程是很复杂的一个过程,涉及到多个数据包的交换,并且也很耗时间. b. Http 连接需要的 3 次握手 4 次 ...

  2. 005 Ceph配置文件及用户管理

    一.Ceph的配置文件 Ceph 配置文件可用于配置存储集群内的所有守护进程.或者某一类型的所有守护进程.要配置一系列守护进程,这些配置必须位于能收到配置的段落之下.默认情况下,无论是ceph的服务端 ...

  3. 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

    在spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...

  4. 第二十八章 springboot + zipkin(brave定制-AsyncHttpClient)

    brave本身没有对AsyncHttpClient提供类似于brave-okhttp的ClientRequestInterceptor和ClientResponseInterceptor,所以需要我们 ...

  5. LVS-DR模式原理

    2019独角兽企业重金招聘Python工程师标准>>> 我们都知道LVS有LVS-DR,LVS-NAT,LVS-TUN三种模式,其中DR模式意为Direct Routing(直接路由 ...

  6. Selenium1 Selenium2 WebDriver

    内容摘要: Selenium 1 原理 WebDriver WebDriver 组件 WebDriver 协议 Remote End 处理流程 Commands & Endpoints &am ...

  7. c3p0 服务启动获取连接超时_微服务架构中的熔断、降级

    微服务架构中熔断和降级是保证服务高可用的一项重要功能点,微服务区别于一体化项目的最大区别也再于熔断和降级,很多微服务项目的开发人员对熔断的理解就是当服务不可用的时候,为了让整体服务可以正常运行,需要让 ...

  8. SpringCloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务

    首先简单解释一下什么是声明式实现? 要做一件事, 需要知道三个要素,where, what, how.即在哪里( where)用什么办法(how)做什么(what).什么时候做(when)我们纳入ho ...

  9. CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群

    本文是在CentOS7.4 下进行CDH6集群的完全离线部署.CDH5集群与CDH6集群的部署区别比较大. 说明:本文内容所有操作都是在root用户下进行的. 文件下载 首先一些安装CDH6集群的必须 ...

最新文章

  1. 数据蒋堂 | JOIN延伸 - 维度查询语法
  2. 【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题
  3. Android Stadio 导入moudle 不显示
  4. show Locks LockManager not specified解决
  5. 【干货】通俗理解神经网络中激活函数作用
  6. Transformer在计算机视觉领域走到哪了?
  7. 使用位运算(与运算)代替%操作
  8. 算法稳定币项目Basis Cash将于2月7日启动V2迁移计划
  9. [转载]Linux Shell 的快捷键
  10. docx文档怎么排列图片_PDF怎么转Word?这几款软件满足你的要求
  11. window下python2和python3的共存
  12. dask 于数据分析_利用Dask ML框架进行欺诈检测-端到端数据分析
  13. 快手视频如何一键批量下载
  14. java.io.NotSerializableException: java.util.ArrayList$SubList
  15. 计算机软件测试方法的分析,计算机软件测试方法的分析.doc
  16. 校验非空的注解@NotNull怎么取得自定义的message
  17. [转贴]郎恒《齐天大圣》Rap 搞笑!
  18. Codeforces Sereja and Mirroring
  19. excel怎么批量添加单位平方米㎡
  20. xamarin和mysql_Xamarin 中的数据库

热门文章

  1. 数据分析、数据挖掘、机器学习实习面经总结
  2. 是不是太胖了(C语言)
  3. Mate 50,来了!
  4. c# OutlookBar控件
  5. H.264笔记整理3
  6. Win10开启telnet功能
  7. 安卓rom包解包linux,Android rom解包打包工具
  8. linux下rename用法--批量重命名
  9. 编写程序计算两个矩阵之和。
  10. JAVA--Socket【“套接字”】