\r
import com.fasterxml.jackson.databind.ObjectMapper;\r
import java.io.ByteArrayOutputStream;\r
+import java.io.IOException;\r
import java.io.UnsupportedEncodingException;\r
import javax.inject.Inject;\r
import org.apache.commons.lang3.StringUtils;\r
import org.apache.http.HttpEntity;\r
import org.apache.http.HttpResponse;\r
-import org.apache.http.client.HttpClient;\r
import org.apache.http.client.methods.HttpDelete;\r
import org.apache.http.client.methods.HttpPost;\r
import org.apache.http.client.methods.HttpPut;\r
import org.apache.http.client.methods.HttpRequestBase;\r
import org.apache.http.entity.BufferedHttpEntity;\r
import org.apache.http.entity.ByteArrayEntity;\r
+import org.apache.http.impl.client.CloseableHttpClient;\r
import org.apache.http.impl.client.HttpClients;\r
import org.jvnet.hk2.annotations.Service;\r
import org.openo.holmes.common.exception.CorrelationException;\r
@Inject\r
private RuleAppConfig ruleAppConfig;\r
\r
- protected HttpResponse delete(String packageName) throws Exception {\r
+ protected HttpResponse delete(String packageName) throws IOException {\r
return deleteRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH + "/" + packageName);\r
}\r
\r
- protected HttpResponse check(CorrelationCheckRule4Engine correlationCheckRule4Engine) throws Exception {\r
+ protected HttpResponse check(CorrelationCheckRule4Engine correlationCheckRule4Engine)\r
+ throws IOException {\r
ObjectMapper mapper = new ObjectMapper();\r
String content = mapper.writeValueAsString(correlationCheckRule4Engine);\r
return postRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH, content);\r
}\r
\r
- protected HttpResponse deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine) throws Exception {\r
+ protected HttpResponse deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine) throws IOException {\r
ObjectMapper mapper = new ObjectMapper();\r
String content = mapper.writeValueAsString(correlationDeployRule4Engine);\r
return putRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH, content);\r
}\r
\r
- private HttpResponse postRequest(String url, String content) throws Exception {\r
- HttpClient httpClient = HttpClients.createDefault();\r
- HttpPost httpPost = new HttpPost(url);\r
- setHeader(httpPost);\r
- if (StringUtils.isNotEmpty(content)) {\r
- httpPost.setEntity(new ByteArrayEntity(content.getBytes()));\r
+ private HttpResponse postRequest(String url, String content) throws IOException {\r
+ CloseableHttpClient httpClient = HttpClients.createDefault();\r
+ try {\r
+ HttpPost httpPost = new HttpPost(url);\r
+ setHeader(httpPost);\r
+ if (StringUtils.isNotEmpty(content)) {\r
+ httpPost.setEntity(new ByteArrayEntity(content.getBytes()));\r
+ }\r
+ return httpClient.execute(httpPost);\r
+ } finally {\r
+ if (httpClient != null) {\r
+ try {\r
+ httpClient.close();\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}\r
- return httpClient.execute(httpPost);\r
}\r
\r
- private HttpResponse putRequest(String url, String content)\r
- throws Exception {\r
- HttpClient httpClient = HttpClients.createDefault();\r
- HttpPut httpPut = new HttpPut(url);\r
- setHeader(httpPut);\r
- if (StringUtils.isNotEmpty(content)) {\r
- httpPut.setEntity(new ByteArrayEntity(content.getBytes()));\r
+ private HttpResponse putRequest(String url, String content) throws IOException {\r
+ CloseableHttpClient httpClient = HttpClients.createDefault();\r
+ try {\r
+ HttpPut httpPut = new HttpPut(url);\r
+ setHeader(httpPut);\r
+ if (StringUtils.isNotEmpty(content)) {\r
+ httpPut.setEntity(new ByteArrayEntity(content.getBytes()));\r
+ }\r
+ return httpClient.execute(httpPut);\r
+ } finally {\r
+ if (httpClient != null) {\r
+ try {\r
+ httpClient.close();\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}\r
- return httpClient.execute(httpPut);\r
}\r
\r
- private HttpResponse deleteRequest(String url) throws Exception {\r
- HttpClient httpClient = HttpClients.createDefault();\r
- HttpDelete httpDelete = new HttpDelete(url);\r
- setHeader(httpDelete);\r
- return httpClient.execute(httpDelete);\r
+ private HttpResponse deleteRequest(String url) throws IOException {\r
+ CloseableHttpClient httpClient = HttpClients.createDefault();\r
+ try {\r
+ HttpDelete httpDelete = new HttpDelete(url);\r
+ setHeader(httpDelete);\r
+ return httpClient.execute(httpDelete);\r
+ } finally {\r
+ if (httpClient != null) {\r
+ try {\r
+ httpClient.close();\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
}\r
\r
private void setHeader(HttpRequestBase httpRequestBase) {\r
httpRequestBase.setHeader("Content-Type", "application/json");\r
}\r
\r
- public byte[] getData(HttpEntity httpEntity) throws Exception {\r
+ public byte[] getData(HttpEntity httpEntity) throws IOException {\r
BufferedHttpEntity bufferedHttpEntity = new BufferedHttpEntity(httpEntity);\r
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();\r
bufferedHttpEntity.writeTo(byteArrayOutputStream);\r