From 3b7b36475e1c869ce4a4e941cf23a3734c107280 Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 15:05:17 +0800 Subject: [PATCH 1/6] =?UTF-8?q?1.EsVersionUtil=E6=94=B9=E5=90=8D=E4=B8=BAE?= =?UTF-8?q?EVersionUtil,=E5=8F=AF=E4=BB=A5=E8=8E=B7=E5=8F=96EE=E7=89=88?= =?UTF-8?q?=E6=9C=AC=EF=BC=8CEs=E4=BE=9D=E8=B5=96=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=8CEs=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E3=80=82=202.banner=E6=89=93=E5=8D=B0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=94=B9=E4=B8=BA=E4=BB=8EEEVersion=E8=8E=B7?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../register/MapperScannerRegister.java | 6 +++--- .../{EsVersionUtil.java => EEVersionUtil.java} | 18 ++++++++++++++++-- .../utils/RestHighLevelClientBuilder.java | 2 +- 3 files changed, 20 insertions(+), 6 deletions(-) rename easy-es-common/src/main/java/cn/easyes/common/utils/{EsVersionUtil.java => EEVersionUtil.java} (88%) diff --git a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java index 08da8d8e..f14cf190 100644 --- a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java +++ b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java @@ -1,6 +1,7 @@ package cn.easyes.starter.register; import cn.easyes.common.utils.LogUtils; +import cn.easyes.common.utils.EEVersionUtil; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.EnvironmentAware; import org.springframework.context.ResourceLoaderAware; @@ -46,8 +47,7 @@ public class MapperScannerRegister implements ImportBeanDefinitionRegistrar, Res //@author dazer boolean banner = Optional.ofNullable(environment.getProperty(ENABLE_BANNER)).map(Boolean::parseBoolean).orElse(Boolean.TRUE); if (banner) { - String versionStr = Optional.ofNullable(MapperScannerRegister.class.getPackage().getImplementationVersion()). - orElse("unknown"); + String versionStr = EEVersionUtil.getEEVersion(); System.out.println("\n" + "___ _ _ ___\n" + " | __| __ _ ___ | || | ___ | __| ___\n" + @@ -56,7 +56,7 @@ public class MapperScannerRegister implements ImportBeanDefinitionRegistrar, Res "_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"|_| \"\"\"\"|_| |_|\"\"\"\"\"|_|\"\"\"\"\"|\n" + "\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\n" + "--------------------------xpc-------------------------->"); - System.out.println(":: easy-es :: (v" + versionStr + ")"); + System.out.println(":: easy-es :: (v:" + versionStr + ")"); } AnnotationAttributes mapperScanAttrs = AnnotationAttributes diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EsVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java similarity index 88% rename from easy-es-common/src/main/java/cn/easyes/common/utils/EsVersionUtil.java rename to easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index e07e17e5..66e9c2eb 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EsVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -7,18 +7,32 @@ import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.core.MainResponse; import java.io.IOException; +import java.util.Optional; /** - * elasticsearch 版本工具类 + * ee 版本工具类 + * + * @author dys + * @since 0.9.80 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) -public class EsVersionUtil { +public class EEVersionUtil { /** * 支持的版本 目前支持版本为7.xx 推荐7.14.0 */ private final static String supportedVersion = "7"; + /** + * 获取EE版本号 + * + * @return ee version + */ + public static String getEEVersion() { + return Optional.ofNullable(EEVersionUtil.class.getPackage().getImplementationVersion()). + orElse("unknown"); + } + /** * 获取es jar包版本 * diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java index a93cc6a3..b5f6f6b2 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java @@ -20,7 +20,7 @@ public class RestHighLevelClientBuilder { public static RestHighLevelClient build(RestClientBuilder builder) { RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder); // 检验es版本是否对应 - EsVersionUtil.verify(restHighLevelClient); + EEVersionUtil.verify(restHighLevelClient); return restHighLevelClient; } From 41b8b77b870a3a08e8aabe34b5496ff36afef4c1 Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 16:24:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?1.EEVersionUtil=E5=A2=9E=E5=8A=A0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96jar=E5=8C=85=E9=80=9A=E7=94=A8=E6=96=B9=E6=B3=95=202.?= =?UTF-8?q?=E6=9C=89=E5=85=B3es=E7=89=88=E6=9C=AC=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=A7=BB=E5=8A=A8=E5=88=B0RestHighLevelClien?= =?UTF-8?q?tBuilder=E4=B8=AD=E8=BF=9B=E8=A1=8C=203.pom=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=B0=83=E6=95=B4,=E5=B0=86maven-jar-plugin=E4=BB=8Estarter?= =?UTF-8?q?=E5=8C=85=E7=A7=BB=E5=8A=A8=E5=88=B0parent=E5=8C=85=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easy-es-boot-starter/pom.xml | 18 ------- .../cn/easyes/common/utils/EEVersionUtil.java | 54 ++++++------------- .../utils/RestHighLevelClientBuilder.java | 29 +++++++++- easy-es-parent/pom.xml | 15 ++++++ 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/easy-es-boot-starter/pom.xml b/easy-es-boot-starter/pom.xml index 8f2759b5..fb280e84 100644 --- a/easy-es-boot-starter/pom.xml +++ b/easy-es-boot-starter/pom.xml @@ -15,7 +15,6 @@ 8 8 - 3.2.2 @@ -30,21 +29,4 @@ - - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - - true - - - - - - diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index 66e9c2eb..5381ba9a 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -19,9 +19,18 @@ import java.util.Optional; public class EEVersionUtil { /** - * 支持的版本 目前支持版本为7.xx 推荐7.14.0 + * 获取指定类版本号 + * + * + * @return classVersion */ - private final static String supportedVersion = "7"; + public static String getJarVersion(Class objectClass) { + return Optional.ofNullable(objectClass.getPackage().getImplementationVersion()). + orElse("unknown"); + } /** * 获取EE版本号 @@ -29,24 +38,14 @@ public class EEVersionUtil { * @return ee version */ public static String getEEVersion() { - return Optional.ofNullable(EEVersionUtil.class.getPackage().getImplementationVersion()). - orElse("unknown"); - } - - /** - * 获取es jar包版本 - * - * @param restHighLevelClient es 高级客户端 - * @return jar version - */ - public static String getJarVersion(RestHighLevelClient restHighLevelClient) { - String version = restHighLevelClient.getClass().getPackage().getImplementationVersion(); - LogUtils.formatInfo("Elasticsearch jar version:%s", version); - return version; + return getJarVersion(EEVersionUtil.class); } /** * 获取elasticsearch client 版本 + *

+ * elasticsearch 客户端必须通过 restHighLevelClient.info 获取,无法使用getPackage.getImplementationVersion 获取 + *

* * @param restHighLevelClient es高级客户端 * @return client version @@ -62,27 +61,4 @@ public class EEVersionUtil { LogUtils.formatInfo("Elasticsearch client version:%s", version); return version; } - - /** - * 校验es client版本及jar包版本 - * - * @param restHighLevelClient es高级客户端 - */ - public static void verify(RestHighLevelClient restHighLevelClient) { - // 校验jar包版本是否为推荐使用版本 - String jarVersion = getJarVersion(restHighLevelClient); - if (!jarVersion.startsWith(supportedVersion)) { - // 这里抛出异常原因是ee强制依赖于jar包版本,jar包版本不对会导致ee异常 - throw ExceptionUtils.eee("Easy-Es supported elasticsearch jar version is:%s.xx", supportedVersion); - } - String clientVersion = getClientVersion(restHighLevelClient); - if (!clientVersion.startsWith(supportedVersion)) { - // 这里校验客户端为非强制,客户端版本非推荐版本对应提醒即可,es会报错提醒 - LogUtils.formatWarn("Easy-Es supported elasticsearch client version is:%s.xx", supportedVersion); - } - if (!jarVersion.equals(clientVersion)) { - // 提示jar包与客户端版本不对应,es官方推荐jar包版本对应客户端版本 - LogUtils.formatWarn("Elasticsearch clientVersion:%s not equals jarVersion:%s", clientVersion, jarVersion); - } - } } diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java index b5f6f6b2..2e71504f 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java @@ -10,6 +10,10 @@ import org.elasticsearch.client.RestHighLevelClient; */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class RestHighLevelClientBuilder { + /** + * 支持的版本 目前支持版本为7.xx 推荐7.14.0 + */ + private final static String supportedVersion = "7"; /** * 构建RestHighLevelClient @@ -20,8 +24,31 @@ public class RestHighLevelClientBuilder { public static RestHighLevelClient build(RestClientBuilder builder) { RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder); // 检验es版本是否对应 - EEVersionUtil.verify(restHighLevelClient); + verify(restHighLevelClient); return restHighLevelClient; } + /** + * 校验es client版本及jar包版本 + * + * @param restHighLevelClient es高级客户端 + */ + private static void verify(RestHighLevelClient restHighLevelClient) { + // 校验jar包版本是否为推荐使用版本 + String jarVersion = EEVersionUtil.getJarVersion(restHighLevelClient.getClass()); + LogUtils.formatInfo("Elasticsearch jar version:%s", jarVersion); + if (!jarVersion.startsWith(supportedVersion)) { + // 这里抛出异常原因是ee强制依赖于jar包版本,jar包版本不对会导致ee异常 + throw ExceptionUtils.eee("Easy-Es supported elasticsearch jar version is:%s.xx", supportedVersion); + } + String clientVersion = EEVersionUtil.getClientVersion(restHighLevelClient); + if (!clientVersion.startsWith(supportedVersion)) { + // 这里校验客户端为非强制,客户端版本非推荐版本对应提醒即可,es会报错提醒 + LogUtils.formatWarn("Easy-Es supported elasticsearch client version is:%s.xx", supportedVersion); + } + if (!jarVersion.equals(clientVersion)) { + // 提示jar包与客户端版本不对应,es官方推荐jar包版本对应客户端版本 + LogUtils.formatWarn("Elasticsearch clientVersion:%s not equals jarVersion:%s", clientVersion, jarVersion); + } + } } diff --git a/easy-es-parent/pom.xml b/easy-es-parent/pom.xml index 9a135f74..de77b51e 100644 --- a/easy-es-parent/pom.xml +++ b/easy-es-parent/pom.xml @@ -35,6 +35,7 @@ 1.2.83 1.13 2.6.10 + 3.2.2 @@ -202,6 +203,20 @@ + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + true + + + + + From 52d993e10227d1fb792c9d45aeabcaebb6bd64ec Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 16:26:00 +0800 Subject: [PATCH 3/6] =?UTF-8?q?EEVersionUtil=E6=96=B9=E6=B3=95=E6=95=B4?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../easyes/starter/register/MapperScannerRegister.java | 4 ++-- .../main/java/cn/easyes/common/utils/EEVersionUtil.java | 9 --------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java index f14cf190..83cd7cfe 100644 --- a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java +++ b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java @@ -1,7 +1,7 @@ package cn.easyes.starter.register; -import cn.easyes.common.utils.LogUtils; import cn.easyes.common.utils.EEVersionUtil; +import cn.easyes.common.utils.LogUtils; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.EnvironmentAware; import org.springframework.context.ResourceLoaderAware; @@ -47,7 +47,7 @@ public class MapperScannerRegister implements ImportBeanDefinitionRegistrar, Res //@author dazer boolean banner = Optional.ofNullable(environment.getProperty(ENABLE_BANNER)).map(Boolean::parseBoolean).orElse(Boolean.TRUE); if (banner) { - String versionStr = EEVersionUtil.getEEVersion(); + String versionStr = EEVersionUtil.getJarVersion(this.getClass()); System.out.println("\n" + "___ _ _ ___\n" + " | __| __ _ ___ | || | ___ | __| ___\n" + diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index 5381ba9a..67ee7741 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -32,15 +32,6 @@ public class EEVersionUtil { orElse("unknown"); } - /** - * 获取EE版本号 - * - * @return ee version - */ - public static String getEEVersion() { - return getJarVersion(EEVersionUtil.class); - } - /** * 获取elasticsearch client 版本 *

From 3baaa41cba5e91f0cf4ef8f6e73f6604f608d47e Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 16:29:52 +0800 Subject: [PATCH 4/6] =?UTF-8?q?EEVersionUtil=E6=96=B9=E6=B3=95=E6=95=B4?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/easyes/common/utils/EEVersionUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index 67ee7741..c2ed201a 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -23,6 +23,7 @@ public class EEVersionUtil { *

    *
  • 只能获取jar包版本,并且打包后META-INF/MANIFEST.MF文件中存在 Implementation-Version
  • *
  • 不存在 Implementation-Version 时返回 unknown
  • + *
  • 如果获取EE本身版本需要打包后获取,在test包测试用例中无法获取
  • *
* * @return classVersion From 6d5334c4f3c8fa987cef3d6fc4518205ef6800df Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 16:35:05 +0800 Subject: [PATCH 5/6] =?UTF-8?q?Elasticsearch=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0=E5=8F=98?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/easyes/common/utils/EEVersionUtil.java | 4 +--- .../cn/easyes/common/utils/RestHighLevelClientBuilder.java | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index c2ed201a..8fb466e4 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -49,8 +49,6 @@ public class EEVersionUtil { } catch (IOException e) { throw new RuntimeException(e); } - String version = info.getVersion().getNumber(); - LogUtils.formatInfo("Elasticsearch client version:%s", version); - return version; + return info.getVersion().getNumber(); } } diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java index 2e71504f..5392dc7c 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java @@ -42,6 +42,7 @@ public class RestHighLevelClientBuilder { throw ExceptionUtils.eee("Easy-Es supported elasticsearch jar version is:%s.xx", supportedVersion); } String clientVersion = EEVersionUtil.getClientVersion(restHighLevelClient); + LogUtils.formatInfo("Elasticsearch client version:%s", clientVersion); if (!clientVersion.startsWith(supportedVersion)) { // 这里校验客户端为非强制,客户端版本非推荐版本对应提醒即可,es会报错提醒 LogUtils.formatWarn("Easy-Es supported elasticsearch client version is:%s.xx", supportedVersion); From a3d4b8d5852ce0dc402609c4a474a5b0e9cb44d3 Mon Sep 17 00:00:00 2001 From: dys <3276637414@qq.com> Date: Thu, 1 Sep 2022 16:36:04 +0800 Subject: [PATCH 6/6] =?UTF-8?q?EEVersionUtil.getJarVersion=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/easyes/common/utils/EEVersionUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java index 8fb466e4..b59f0ce2 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtil.java @@ -26,6 +26,7 @@ public class EEVersionUtil { *
  • 如果获取EE本身版本需要打包后获取,在test包测试用例中无法获取
  • * * + * @param objectClass T.getClass() * @return classVersion */ public static String getJarVersion(Class objectClass) {