org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body
傳送http請求給後端服務,在資料量大的時候報錯:
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 144445481; received: 25370248)
意思是資料傳輸被提前終止了,期望傳輸144445481 B,只是傳輸了25370248 B。
http請求模型見上,在client用server的ip加埠訪問服務,即使資料量大也沒有問題。但是一旦通過域名訪問,也就是通過Nginx訪問,資料量大就會報上述錯誤。實際上是Nginx對響應結果做了限制,如果Nginx超時時間設定的較短,而buffer很大的情況下,可以修改Nginx超時時間,將時間調大,這樣在大資料量傳輸的過程中就不會因為超時而終止。如果Nginx超時時間足夠長,但是buffer較小的話,可以調大buffer來解決。
還有一點需要注意,就是同步非同步的問題可能會引發這個問題,比如:
method A{
語句1;
語句2(非同步呼叫其他資料庫查詢);
語句3(finally塊關閉連線)
}
在上面的邏輯中,如果方法A是同步呼叫,但是資料庫查詢是非同步,可能的一種情況是:資料沒有傳輸完成,但是語句3已經執行了,連線被關閉,也可能引發上面的問題。
相關推薦
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body
傳送http請求給後端服務,在資料量大的時候報錯: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 144445481;
使用AsyncHttpClient下載圖片出現org.apache.http.client.HttpResponseException: Content-Type not allowed!
使用AsyncHttpClient下載gif圖片出現org.apache.http.client.HttpResponseException: Content-Type not allowed!錯誤 原因:制定檔案下載型別時,沒有指定gif型別 解決方法: // 指定檔
Android studio沒有org.apache.http.client.HttpClient;等包問題 解決方案
target ace mon studio clas 技術 upload rep img 以前用Eclipse做Android開發工具一直使用apache的http做網絡請求,最近換用了Android studio發現沒有辦法引用apache的包,下面是我引用的步驟
【異常】java.lang.IllegalArgumentException: Cannot locate declared field class org.apache.http.impl.client.HttpClientBuilder.dnsResolver 的解決方案
pcl group lan cnblogs cat resolv artifact exceptio 網頁 起因:使用htmlunit爬取外部網頁的時候遇到這個異常:java.lang.IllegalArgumentException: Cannot locate decl
java.lang.ClassNotFoundException: org.apache.http.conn.UnsupportedSchemeException
client cep inf ima 低版本 分享圖片 dex org 分享 加入了阿裏雲的消息服務後,就一直之前報java.lang.ClassNotFoundException: org.apache.http.conn.UnsupportedSchemeExcept
org.apache.http.legacy解決辦法
Android Studio在build時提示 Unable to find optional library: org.apache.http.legacy 是說找不到這個類。這是什麼情況呢? 查閱文件發現,原來是Android 6.0不再支援 Apache HTTP client,
解決啟動時報ClassNotFoundException: org.apache.http.client.HttpClient異常的問題
最近在研究阿里的分散式事務框架GTS,在執行sample-txc-simple時,拋以下異常: JM.Log:INFO Set diamond-client log path: C:\Users\chanson\logs\diamond-client Exception in thread "m
Jmeter壓測問題_Non HTTP response code: org.apache.http.conn.ConnectTimeoutException
負載機壓測,執行緒500,伺服器根本無壓力,負載機本身發的請求都是失敗的 Sample result如下: Thread Name: 考勤(考勤提交) 1-134 Sample Start: 2018-11-29 11:36:04 CST Load time: 8061 Connect Time:
org.apache.http不存在或找不到,解決方案
Android 6.0不再支援 Apache HTTP client。 請使用 HttpURLConnection 代替。如果遇到之前老程式碼執行不起來或者報錯怎麼辦呢,又不想寫新的程式碼。 Error:(19, 23) 錯誤: 程式包org.apache.htt
記一個springboot專案無法匯入import org.apache.http.client.HttpClient的問題
問題版本是springboot2.0.4。因為專案是依賴於springcloud 的,本來想著springcloud 下的eureka-client和ribbon都會自動依賴於httpclient的。所以直接加入了eureka和ribbon的dependency。結果發現ex
httpclient時報錯The type org.apache.http.protocol.BasicHttpProcessor cannot be resolved
myeclipse報錯: The type org.apache.http.protocol.BasicHttpProcessor cannot be resolved. It is indirectly referenced from required .class fi
程式包org.apache.http不存在,解決方式
類裡提示爆紅 import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.
java.lang.NoClassDefFoundError: org/apache/http/message/TokenParser異常處理
最近在專案中使用solr給資料庫做索引的,專案啟動報異常ava.lang.NoClassDefFoundError: org/apache/http/message/TokenParser 查看了一下原因,因為solrJ底層使用httpclient作為通訊方式,專案本身也是使用的httpclie
解決maven工程下java.lang.ClassNotFoundException: org.apache.http.ssl.SSLContexts問題
maven座標: <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId>
找不到org.apache.http等類
在eclipse或 Android studio開發,當設定android SDK的編譯版本為23或更高的版本時,且使用了HttpClient相關類的庫專案時,會出現有一些類找不到的錯誤。原因是an
htmlunit中 java.lang.NoClassDefFoundError: org/apache/http/cookie/CookieSpecProvider 異常
使用htmlunit時報出如下錯誤: java.lang.NoClassDefFoundError: org/apache/http/cookie/CookieSpecProviderat com.gargoylesoftware.htmlunit.WebClient.cr
解壓cpio檔案:cpio: premature end of file
剛解壓一個cpio檔案,遇到如下錯誤: [[email protected] ora92]$ cpio -idcmv < ship_9204_linux_disk1.cpio cpio: premature end of file GOOGLE了一下,
java.lang.NoSuchMethodError: org.apache.http.entity.StringEntity.(Ljava/lang/String;Lorg/
在我的eclipse中出現瞭如下異常 java.lang.NoSuchMethodError: org.apache.http.entity.StringEntity.<init&
org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1(XXX) refused
org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1 refused 大意是連線127.0.0.1被拒絕了。把地址換成了localhost也不行,讓我真是一團霧水,找了
在繞過證書驗證實現https訪問時 出現java.lang.NoClassDefFoundError: org/apache/http/conn/socket//PlainConnectionSock
# 歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列