From 9bafeccd3879fbd7c49760a40e2e8b4aea5f4c77 Mon Sep 17 00:00:00 2001 From: redkale Date: Mon, 30 Jan 2023 21:10:28 +0800 Subject: [PATCH] =?UTF-8?q?CacheSource=E5=92=8CDataSource=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=B5=84=E6=BA=90=E5=A4=8D=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/boot/Application.java | 18 ++++++++++++++++++ src/main/java/org/redkale/net/Server.java | 4 +--- src/main/java/org/redkale/net/http/Rest.java | 4 ++-- .../redkale/source/AbstractCacheSource.java | 3 +++ .../org/redkale/source/AbstractDataSource.java | 3 +++ 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index bfcfe0ad0..12c02dc36 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -1246,6 +1246,13 @@ public final class Application { logger.info("Load CacheSource resourceName = " + sourceName + ", source = " + source + " in " + (System.currentTimeMillis() - st) + " ms"); return source; } + if (!sourceConf.getValue(AbstractCacheSource.CACHE_SOURCE_SOURCE, "").isEmpty()) { + CacheSource source = loadCacheSource(sourceConf.getValue(AbstractCacheSource.CACHE_SOURCE_SOURCE), autoMemory); + if (source != null) { + resourceFactory.register(sourceName, CacheSource.class, source); + } + return source; + } try { CacheSource source = AbstractCacheSource.createCacheSource(serverClassLoader, resourceFactory, sourceConf, sourceName, compileMode); cacheSources.add(source); @@ -1282,6 +1289,17 @@ public final class Application { logger.info("Load DataSource resourceName = " + sourceName + ", source = " + source); return source; } + if (!sourceConf.getValue(AbstractDataSource.DATA_SOURCE_SOURCE, "").isEmpty()) { + DataSource source = loadDataSource(sourceConf.getValue(AbstractDataSource.DATA_SOURCE_SOURCE), autoMemory); + if (source != null) { + if (source instanceof DataMemorySource && DataMemorySource.isSearchType(sourceConf)) { + resourceFactory.register(sourceName, SearchSource.class, source); + } else { + resourceFactory.register(sourceName, DataSource.class, source); + } + } + return source; + } try { DataSource source = AbstractDataSource.createDataSource(serverClassLoader, resourceFactory, sourceConf, sourceName, compileMode); dataSources.add(source); diff --git a/src/main/java/org/redkale/net/Server.java b/src/main/java/org/redkale/net/Server.java index 0c2d16c44..67767292b 100644 --- a/src/main/java/org/redkale/net/Server.java +++ b/src/main/java/org/redkale/net/Server.java @@ -300,9 +300,7 @@ public abstract class Server