diff --git a/VERSION b/VERSION
index 7aea221d..935d74b6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.7-release
+1.2.8-release
diff --git a/examples/generic/pom.xml b/examples/generic/pom.xml
index c88f4c2c..efdfb4f4 100644
--- a/examples/generic/pom.xml
+++ b/examples/generic/pom.xml
@@ -7,7 +7,7 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
@@ -18,7 +18,7 @@
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/examples/uhost/pom.xml b/examples/uhost/pom.xml
index d1726881..191d10f0 100644
--- a/examples/uhost/pom.xml
+++ b/examples/uhost/pom.xml
@@ -7,7 +7,7 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
@@ -18,7 +18,7 @@
cn.ucloud
ucloud-sdk-java-uhost
- 1.2.7-release
+ 1.2.8-release
diff --git a/pom.xml b/pom.xml
index 77374923..ee0a972d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
cn.ucloud
ucloud-sdk-java
pom
- 1.2.7-release
+ 1.2.8-release
ucloud-sdk-java-common
ucloud-sdk-java-ipsecvpn
diff --git a/ucloud-sdk-java-common/pom.xml b/ucloud-sdk-java-common/pom.xml
index b903f8a1..8bce8b5b 100644
--- a/ucloud-sdk-java-common/pom.xml
+++ b/ucloud-sdk-java-common/pom.xml
@@ -7,12 +7,12 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/Client.java b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/Client.java
index 8eea6555..7efd9a89 100644
--- a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/Client.java
+++ b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/Client.java
@@ -17,7 +17,9 @@
import cn.ucloud.common.request.Request;
import cn.ucloud.common.response.Response;
-public interface Client {
+import java.io.Closeable;
+
+public interface Client extends Closeable {
/**
* invoke api from request and response
*
diff --git a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/DefaultClient.java b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/DefaultClient.java
index 9bb8c48f..538efa4b 100644
--- a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/DefaultClient.java
+++ b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/client/DefaultClient.java
@@ -27,6 +27,7 @@
import cn.ucloud.common.transport.DefaultTransport;
import cn.ucloud.common.transport.Transport;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -135,4 +136,9 @@ public Credential getCredential() {
public void setCredential(Credential credential) {
this.credential = credential;
}
+
+ @Override
+ public void close() throws IOException {
+ this.transport.close();
+ }
}
diff --git a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/DefaultTransport.java b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/DefaultTransport.java
index ac31520c..f2650821 100644
--- a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/DefaultTransport.java
+++ b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/DefaultTransport.java
@@ -71,39 +71,32 @@ public Response invoke(Request request, Class extends Response> clazz)
entity.setContentType(ContentType.APPLICATION_JSON.getMimeType());
httpPost.setHeader(HTTP.CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType());
httpPost.setEntity(entity);
-
// invoke http requesting
- CloseableHttpResponse httpResponse;
- try {
- httpResponse = this.getHttpClient().execute(httpPost);
+ try (CloseableHttpResponse httpResponse = this.getHttpClient().execute(httpPost)) {
+ String requestId = "";
+ if (httpResponse.getLastHeader(HEADER_REQUEST_ID) != null) {
+ requestId = httpResponse.getLastHeader(HEADER_REQUEST_ID).getValue();
+ }
+
+ // check http status
+ StatusLine httpStatus = httpResponse.getStatusLine();
+ if (httpStatus.getStatusCode() >= 400) {
+ throw new UCloudException(
+ String.format(
+ "http error, status code %d %s",
+ httpStatus.getStatusCode(), httpStatus.getReasonPhrase()));
+ }
+
+ // decode response
+ String content = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+ Response response = new Gson().fromJson(content, clazz);
+ response.setRequestId(requestId);
+ return response;
+ } catch (UCloudException e) {
+ throw e;
} catch (Exception e) {
throw new TransportException("http error", e);
}
-
- String requestId = "";
- if (httpResponse.getLastHeader(HEADER_REQUEST_ID) != null) {
- requestId = httpResponse.getLastHeader(HEADER_REQUEST_ID).getValue();
- }
-
- // check http status
- StatusLine httpStatus = httpResponse.getStatusLine();
- if (httpStatus.getStatusCode() >= 400) {
- throw new UCloudException(
- String.format(
- "http error, status code %d %s",
- httpStatus.getStatusCode(), httpStatus.getReasonPhrase()));
- }
-
- // decode response
- String content = null;
- try {
- content = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
- } catch (IOException e) {
- throw new UCloudException("http error", e);
- }
- Response response = new Gson().fromJson(content, clazz);
- response.setRequestId(requestId);
- return response;
}
public String getBaseUrl() {
@@ -129,4 +122,9 @@ public CloseableHttpClient getHttpClient() {
public void setHttpClient(CloseableHttpClient httpClient) {
this.httpClient = httpClient;
}
+
+ @Override
+ public void close() throws IOException {
+ this.httpClient.close();
+ }
}
diff --git a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/Transport.java b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/Transport.java
index a39edb43..b2123080 100644
--- a/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/Transport.java
+++ b/ucloud-sdk-java-common/src/main/java/cn/ucloud/common/transport/Transport.java
@@ -17,7 +17,9 @@
import cn.ucloud.common.request.Request;
import cn.ucloud.common.response.Response;
-public interface Transport {
+import java.io.Closeable;
+
+public interface Transport extends Closeable {
/**
* @param request Request payload with data
* @param clazz Response class without data
diff --git a/ucloud-sdk-java-ipsecvpn/pom.xml b/ucloud-sdk-java-ipsecvpn/pom.xml
index 97db59ae..d193c1c2 100644
--- a/ucloud-sdk-java-ipsecvpn/pom.xml
+++ b/ucloud-sdk-java-ipsecvpn/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ipsecvpn
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-pathx/pom.xml b/ucloud-sdk-java-pathx/pom.xml
index e53bb29e..706c4c90 100644
--- a/ucloud-sdk-java-pathx/pom.xml
+++ b/ucloud-sdk-java-pathx/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-pathx
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uaccount/pom.xml b/ucloud-sdk-java-uaccount/pom.xml
index 74d04291..ac418ec0 100644
--- a/ucloud-sdk-java-uaccount/pom.xml
+++ b/ucloud-sdk-java-uaccount/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uaccount
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-ubill/pom.xml b/ucloud-sdk-java-ubill/pom.xml
index e81f3b99..0dd9dbba 100644
--- a/ucloud-sdk-java-ubill/pom.xml
+++ b/ucloud-sdk-java-ubill/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ubill
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-ucdn/pom.xml b/ucloud-sdk-java-ucdn/pom.xml
index 5e09ee49..2c407368 100644
--- a/ucloud-sdk-java-ucdn/pom.xml
+++ b/ucloud-sdk-java-ucdn/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ucdn
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-udb/pom.xml b/ucloud-sdk-java-udb/pom.xml
index f2270061..7a7f0cf9 100644
--- a/ucloud-sdk-java-udb/pom.xml
+++ b/ucloud-sdk-java-udb/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-udb
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-udbproxy/pom.xml b/ucloud-sdk-java-udbproxy/pom.xml
index df60e849..9160c826 100644
--- a/ucloud-sdk-java-udbproxy/pom.xml
+++ b/ucloud-sdk-java-udbproxy/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-udbproxy
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-udi/pom.xml b/ucloud-sdk-java-udi/pom.xml
index bd708bd5..a91d97fa 100644
--- a/ucloud-sdk-java-udi/pom.xml
+++ b/ucloud-sdk-java-udi/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-udi
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-udisk/pom.xml b/ucloud-sdk-java-udisk/pom.xml
index b65792ff..572db105 100644
--- a/ucloud-sdk-java-udisk/pom.xml
+++ b/ucloud-sdk-java-udisk/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-udisk
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-udpn/pom.xml b/ucloud-sdk-java-udpn/pom.xml
index ebf414c6..54721987 100644
--- a/ucloud-sdk-java-udpn/pom.xml
+++ b/ucloud-sdk-java-udpn/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-udpn
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uec/pom.xml b/ucloud-sdk-java-uec/pom.xml
index 767b1d14..ee443ab2 100644
--- a/ucloud-sdk-java-uec/pom.xml
+++ b/ucloud-sdk-java-uec/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uec
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-ufile/pom.xml b/ucloud-sdk-java-ufile/pom.xml
index 11a16a85..02dd2ae0 100644
--- a/ucloud-sdk-java-ufile/pom.xml
+++ b/ucloud-sdk-java-ufile/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ufile
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-ufs/pom.xml b/ucloud-sdk-java-ufs/pom.xml
index 40781a64..7bfb19c0 100644
--- a/ucloud-sdk-java-ufs/pom.xml
+++ b/ucloud-sdk-java-ufs/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ufs
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uhost/pom.xml b/ucloud-sdk-java-uhost/pom.xml
index d0871121..e7ea2d0e 100644
--- a/ucloud-sdk-java-uhost/pom.xml
+++ b/ucloud-sdk-java-uhost/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uhost
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uk8s/pom.xml b/ucloud-sdk-java-uk8s/pom.xml
index 977cf024..8676daf6 100644
--- a/ucloud-sdk-java-uk8s/pom.xml
+++ b/ucloud-sdk-java-uk8s/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uk8s
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-ulb/pom.xml b/ucloud-sdk-java-ulb/pom.xml
index 0b054e27..f0895dd2 100644
--- a/ucloud-sdk-java-ulb/pom.xml
+++ b/ucloud-sdk-java-ulb/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-ulb
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-umem/pom.xml b/ucloud-sdk-java-umem/pom.xml
index 301a2bbe..d5d0be08 100644
--- a/ucloud-sdk-java-umem/pom.xml
+++ b/ucloud-sdk-java-umem/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-umem
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-umongodb/pom.xml b/ucloud-sdk-java-umongodb/pom.xml
index 5990d5bf..57eddd99 100644
--- a/ucloud-sdk-java-umongodb/pom.xml
+++ b/ucloud-sdk-java-umongodb/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-umongodb
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-unet/pom.xml b/ucloud-sdk-java-unet/pom.xml
index 18df705f..d04a07f6 100644
--- a/ucloud-sdk-java-unet/pom.xml
+++ b/ucloud-sdk-java-unet/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-unet
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-upgsql/pom.xml b/ucloud-sdk-java-upgsql/pom.xml
index 1d9fba18..bc704a6a 100644
--- a/ucloud-sdk-java-upgsql/pom.xml
+++ b/ucloud-sdk-java-upgsql/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-upgsql
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uphone/pom.xml b/ucloud-sdk-java-uphone/pom.xml
index e0735acc..83547686 100644
--- a/ucloud-sdk-java-uphone/pom.xml
+++ b/ucloud-sdk-java-uphone/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uphone
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uphost/pom.xml b/ucloud-sdk-java-uphost/pom.xml
index 2d16dab8..da67ef93 100644
--- a/ucloud-sdk-java-uphost/pom.xml
+++ b/ucloud-sdk-java-uphost/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uphost
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uslk/pom.xml b/ucloud-sdk-java-uslk/pom.xml
index d1373a9b..05ccf7e1 100644
--- a/ucloud-sdk-java-uslk/pom.xml
+++ b/ucloud-sdk-java-uslk/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uslk
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-usms/pom.xml b/ucloud-sdk-java-usms/pom.xml
index cca3e25f..a5bf6477 100644
--- a/ucloud-sdk-java-usms/pom.xml
+++ b/ucloud-sdk-java-usms/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-usms
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-uvms/pom.xml b/ucloud-sdk-java-uvms/pom.xml
index 868a1417..6ef0b020 100644
--- a/ucloud-sdk-java-uvms/pom.xml
+++ b/ucloud-sdk-java-uvms/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-uvms
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release
diff --git a/ucloud-sdk-java-vpc/pom.xml b/ucloud-sdk-java-vpc/pom.xml
index ac370164..edfb21d2 100644
--- a/ucloud-sdk-java-vpc/pom.xml
+++ b/ucloud-sdk-java-vpc/pom.xml
@@ -5,18 +5,18 @@
ucloud-sdk-java
cn.ucloud
- 1.2.7-release
+ 1.2.8-release
4.0.0
ucloud-sdk-java-vpc
- 1.2.7-release
+ 1.2.8-release
cn.ucloud
ucloud-sdk-java-common
- 1.2.7-release
+ 1.2.8-release