2014-03-31 43 views
0

我正在開發一個Maven插件,最終將二進制文件發佈到服務器。我正在使用HTTPComponents 4.3。我對Java和Apache庫相當陌生,但除此之外,我如何從CloseableHttpClient.execute()提取上傳進度?如何從CloseableHttpClient POST獲取上傳進度?

我打算通過字節發送或百分比記錄命令行上的進度。

CloseableHttpClient client = HttpClients.createDefault(); 
HttpPost post = createHttpPost(); //just sets up the HttpPost object 
HttpEntity entity = createHttpEntity(); //adds the multipart 
post.setEntity(entity); 

HttpResponse response; 
try { 
    getLog().info("Executing request."); 
    response = client.execute(post); 
} catch (ClientProtocolException e) { 
    //handle 
} catch (IOException e) { 
    //handle 
} 

回答

0

字節寫入由使用後會給你的progressMeter數據輸出緩衝區實現....

使用調試和或4.3 API文檔的審覈,您將需要確定緩衝區i/o的實際實現....有很多接口,它可能需要一些時間才能找到,但是這裏有一些關於什麼可能在做一個POST & CloseableHttpClient的io的猜測。 。

SessionOutputBufferImpl是一種 - 注意可以捕獲度量的I/O f或Post活動上的progressBar。

另一個你應該看看的是BHttpConnectionBase