From 468c0d8d8cab551b6a03f50e9b2d4a220563eb61 Mon Sep 17 00:00:00 2001 From: misaya295 <864730420@qq.com> Date: Thu, 9 Mar 2023 11:21:12 +0800 Subject: [PATCH] support es jdbc --- .../java/org/ssssssss/magicapi/core/config/Constants.java | 5 +++++ .../datasource/service/DataSourceMagicDynamicRegistry.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/core/config/Constants.java b/magic-api/src/main/java/org/ssssssss/magicapi/core/config/Constants.java index ece33dad..ab110762 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/core/config/Constants.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/core/config/Constants.java @@ -131,5 +131,10 @@ public class Constants { */ public static final Object[] EMPTY_OBJECT_ARRAY = new Object[0]; + /** + * The Es driver. + */ + public static final String ES_DRIVER = "org.elasticsearch.xpack.sql.jdbc.EsDriver"; + } diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/datasource/service/DataSourceMagicDynamicRegistry.java b/magic-api/src/main/java/org/ssssssss/magicapi/datasource/service/DataSourceMagicDynamicRegistry.java index 9033a796..9eca2dbe 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/datasource/service/DataSourceMagicDynamicRegistry.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/datasource/service/DataSourceMagicDynamicRegistry.java @@ -13,6 +13,7 @@ import org.springframework.boot.context.properties.source.MapConfigurationProper import org.springframework.boot.jdbc.DatabaseDriver; import org.springframework.context.event.EventListener; import org.springframework.util.ClassUtils; +import org.ssssssss.magicapi.core.config.Constants; import org.ssssssss.magicapi.datasource.model.MagicDynamicDataSource; import org.ssssssss.magicapi.core.event.FileEvent; import org.ssssssss.magicapi.datasource.model.DataSourceInfo; @@ -57,6 +58,9 @@ public class DataSourceMagicDynamicRegistry extends AbstractMagicDynamicRegistry protected boolean register(MappingNode mappingNode) { DataSourceInfo info = mappingNode.getEntity(); Map properties = new HashMap<>(info.getProperties()); + if(Constants.ES_DRIVER.equals(info.getDriverClassName())){ + properties.put("defaultReadOnly", true); + } properties.put("url", info.getUrl()); properties.put("username", info.getUsername()); properties.put("password", info.getPassword()); -- Gitee