diff --git a/.gitignore b/.gitignore index 1be201a2afb..4eff9a536e6 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ derby.log work test/logs derby.log -yarn.lock \ No newline at end of file +yarn.lock diff --git a/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java b/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java index 158c336da37..341bf45f3ad 100644 --- a/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java +++ b/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java @@ -164,7 +164,7 @@ public String getStatusText() { } @Override - public void close() throws IOException { + public void close() { } } diff --git a/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java b/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java index c066f5842f1..e8bc59b4f5f 100644 --- a/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java +++ b/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java @@ -16,6 +16,7 @@ package com.alibaba.nacos.client.config.utils; +import com.alibaba.nacos.common.utils.IoUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,7 +90,7 @@ public static String getFileContent(File file, String charsetName) throws IOExce rlock = null; } if (fis != null) { - fis.close(); + IoUtils.closeQuietly(fis); fis = null; } } diff --git a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java index d227a6edd26..eabb40eb3de 100644 --- a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java +++ b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java @@ -16,6 +16,8 @@ package com.alibaba.nacos.client.naming.cache; +import com.alibaba.nacos.common.utils.IoUtils; + import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -88,7 +90,7 @@ public static String getFileContent(File file, String charsetName) throws IOExce rlock = null; } if (fis != null) { - fis.close(); + IoUtils.closeQuietly(fis); fis = null; } } diff --git a/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java b/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java index fd921158c33..23f2be8d340 100644 --- a/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java +++ b/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java @@ -24,12 +24,14 @@ import com.alibaba.nacos.common.http.param.Header; import com.alibaba.nacos.common.http.param.MediaType; import com.alibaba.nacos.common.model.RequestHttpEntity; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.common.utils.JacksonUtils; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import java.io.IOException; +import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URI; import java.util.HashMap; @@ -101,9 +103,10 @@ public HttpClientResponse execute(URI uri, String httpMethod, RequestHttpEntity conn.setDoOutput(true); byte[] b = bodyStr.getBytes(); conn.setRequestProperty("Content-Length", String.valueOf(b.length)); - conn.getOutputStream().write(b, 0, b.length); - conn.getOutputStream().flush(); - conn.getOutputStream().close(); + OutputStream outputStream = conn.getOutputStream(); + outputStream.write(b, 0, b.length); + outputStream.flush(); + IoUtils.closeQuietly(outputStream); } } conn.connect(); diff --git a/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java b/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java index 35c4c5cd79f..db958e91867 100644 --- a/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java +++ b/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java @@ -62,9 +62,7 @@ public interface HttpClientResponse extends Closeable { /** * close response InputStream. - * - * @throws IOException ex */ @Override - void close() throws IOException; + void close(); } diff --git a/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java b/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java index c38de6dad3b..50c56110da4 100644 --- a/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java +++ b/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java @@ -63,12 +63,8 @@ public static byte[] tryDecompress(InputStream raw) throws IOException { } catch (IOException e) { e.printStackTrace(); } finally { - if (out != null) { - out.close(); - } - if (gis != null) { - gis.close(); - } + closeQuietly(out); + closeQuietly(gis); } return null; @@ -94,12 +90,8 @@ public static byte[] tryDecompress(byte[] raw) throws Exception { IoUtils.copy(gis, out); return out.toByteArray(); } finally { - if (out != null) { - out.close(); - } - if (gis != null) { - gis.close(); - } + closeQuietly(out); + closeQuietly(gis); } } @@ -122,9 +114,7 @@ public static void writeStringToFile(File file, String data, String encoding) th os.write(data.getBytes(encoding)); os.flush(); } finally { - if (null != os) { - os.close(); - } + closeQuietly(os); } } @@ -311,12 +301,8 @@ public static void copyFile(String source, String target) throws IOException { sc = new FileInputStream(sf).getChannel(); sc.transferTo(0, sc.size(), tc); } finally { - if (null != sc) { - sc.close(); - } - if (null != tc) { - tc.close(); - } + closeQuietly(sc); + closeQuietly(tc); } } diff --git a/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java b/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java index 61bdfa4ba34..72f493962a8 100644 --- a/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java +++ b/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java @@ -143,7 +143,7 @@ public static Properties getResourceAsProperties(ClassLoader loader, String reso Properties props = new Properties(); InputStream in = getResourceAsStream(loader, resource); props.load(in); - in.close(); + IoUtils.closeQuietly(in); return props; } diff --git a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java index e332218780b..b7cc2da2e6f 100755 --- a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java @@ -17,6 +17,7 @@ package com.alibaba.nacos.config.server.controller; import com.alibaba.nacos.common.constant.HttpHeaderConsts; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.config.server.constant.Constants; import com.alibaba.nacos.config.server.enums.FileTypeEnum; import com.alibaba.nacos.config.server.model.CacheItem; @@ -271,9 +272,7 @@ public String doGetConfig(HttpServletRequest request, HttpServletResponse respon } finally { releaseConfigReadLock(groupKey); - if (null != fis) { - fis.close(); - } + IoUtils.closeQuietly(fis); } } else if (lockResult == 0) { diff --git a/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java b/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java index 81f4c1db637..7df69b97c84 100644 --- a/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java @@ -18,6 +18,7 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.exception.runtime.NacosRuntimeException; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.config.server.constant.Constants; import com.alibaba.nacos.config.server.utils.LogUtil; import com.alibaba.nacos.config.server.utils.PropertyUtil; @@ -235,9 +236,7 @@ private List loadSql(String sqlFile) throws Exception { } catch (Exception ex) { throw new Exception(ex.getMessage()); } finally { - if (sqlFileIn != null) { - sqlFileIn.close(); - } + IoUtils.closeQuietly(sqlFileIn); } } @@ -249,10 +248,8 @@ private List loadSql(String sqlFile) throws Exception { * @throws Exception Exception. */ private void execute(Connection conn, String sqlFile) throws Exception { - Statement stmt = null; - try { + try (Statement stmt = conn.createStatement()) { List sqlList = loadSql(sqlFile); - stmt = conn.createStatement(); for (String sql : sqlList) { try { stmt.execute(sql); @@ -260,10 +257,6 @@ private void execute(Connection conn, String sqlFile) throws Exception { LogUtil.DEFAULT_LOG.warn(e.getMessage()); } } - } finally { - if (stmt != null) { - stmt.close(); - } } } diff --git a/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js b/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js index 551eae66994..cad31ad6c45 100644 --- a/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js +++ b/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js @@ -177,9 +177,25 @@ class ConfigurationManagement extends React.Component { hasdash: false, }); } else { + // 前端默认排序 + let sortList = []; + for (let j = 0, len = res.data.length; j < len; j++) { + let item = res.data[j]; + sortList.push({ + k: item.appName || '' + item.group || '' + item.dataId || '', + v: item, + }); + } + sortList.sort(function(a, b) { + return a.k.localeCompare(b.k); + }); + let showList = []; + for (let j = 0, len = sortList.length; j < len; j++) { + showList.push(sortList[j].v); + } this.setState({ hasdash: true, - contentList: res.data, + contentList: showList, }); } } @@ -425,6 +441,15 @@ class ConfigurationManagement extends React.Component { ); } + onChangeSort(dataIndex, order) { + this.dataSource.sort(function(a, b) { + if (order === 'asc') { + return (a[dataIndex] + '').localeCompare(b[dataIndex] + ''); + } + return (b[dataIndex] + '').localeCompare(a[dataIndex] + ''); + }); + } + handlePageSizeChange(pageSize) { this.setState({ pageSize }, () => this.changePage(1)); } @@ -1363,10 +1388,13 @@ class ConfigurationManagement extends React.Component { ref="dataTable" loading={this.state.loading} rowSelection={this.state.rowSelection} + onSort={this.onChangeSort} > - - - {!this.inApp && } + + + {!this.inApp && ( + + )} {configurations.totalCount > 0 && ( diff --git a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java index 5a56c60ee03..4b8617b6920 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java @@ -261,22 +261,16 @@ public synchronized void write(final Datum datum) throws Exception { throw new IllegalStateException("can not make cache file: " + cacheFile.getName()); } - FileChannel fc = null; ByteBuffer data; data = ByteBuffer.wrap(JacksonUtils.toJson(datum).getBytes(StandardCharsets.UTF_8)); - try { - fc = new FileOutputStream(cacheFile, false).getChannel(); + try (FileChannel fc = new FileOutputStream(cacheFile, false).getChannel()) { fc.write(data, data.position()); fc.force(true); } catch (Exception e) { MetricsMonitor.getDiskException().increment(); throw e; - } finally { - if (fc != null) { - fc.close(); - } } // remove old format file: diff --git a/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java b/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java index e6cef465118..ff220110d2e 100644 --- a/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java +++ b/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java @@ -91,7 +91,7 @@ public String getStatusText() { } @Override - public void close() throws IOException { + public void close() { } };