From d6439f11c84b94f514ae3121f9cc2d7cf5264069 Mon Sep 17 00:00:00 2001 From: icanci Date: Sun, 20 Nov 2022 18:08:30 +0800 Subject: [PATCH] SDK --- rec-common/pom.xml | 4 + rec-engine/rec-engine-sdk/pom.xml | 23 ++++-- .../engine/sdk/RecEngineSDKAutoConfig.java | 8 ++ .../rec/engine/sdk/properties/RecClient.java | 26 ++++++ .../engine/sdk/properties/RecProperties.java | 79 +++++++++++++++++++ .../rec/engine/sdk/properties/RecServer.java | 26 ++++++ 6 files changed, 159 insertions(+), 7 deletions(-) create mode 100644 rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecClient.java create mode 100644 rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecProperties.java create mode 100644 rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecServer.java diff --git a/rec-common/pom.xml b/rec-common/pom.xml index 638c712..a5070d1 100644 --- a/rec-common/pom.xml +++ b/rec-common/pom.xml @@ -29,5 +29,9 @@ com.google.guava guava + + commons-io + commons-io + \ No newline at end of file diff --git a/rec-engine/rec-engine-sdk/pom.xml b/rec-engine/rec-engine-sdk/pom.xml index 7cf35ad..0269da3 100644 --- a/rec-engine/rec-engine-sdk/pom.xml +++ b/rec-engine/rec-engine-sdk/pom.xml @@ -30,13 +30,22 @@ org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-logging - - + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-autoconfigure + + + org.springframework.boot + spring-boot-configuration-processor + compile + true diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/RecEngineSDKAutoConfig.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/RecEngineSDKAutoConfig.java index 7bad7af..303f8b3 100644 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/RecEngineSDKAutoConfig.java +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/RecEngineSDKAutoConfig.java @@ -6,13 +6,17 @@ import cn.icanci.rec.engine.script.RecScriptEngineManager; import cn.icanci.rec.engine.sdk.exception.InjectionBeanException; import cn.icanci.rec.engine.sdk.extensions.RecExtensionLoader; import cn.icanci.rec.engine.sdk.extensions.SpringBean; +import cn.icanci.rec.engine.sdk.properties.RecProperties; import cn.icanci.rec.engine.sdk.spi.*; import java.lang.reflect.Field; import java.util.Set; +import javax.annotation.Resource; + import org.springframework.beans.BeansException; import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Bean; @@ -28,8 +32,12 @@ import com.google.common.collect.Sets; @Configuration @ComponentScan({ "cn.icanci.rec.engine.sdk" }) +@EnableConfigurationProperties(RecProperties.class) //@ConditionalOnClass(RuleAggregationCluster.class) public class RecEngineSDKAutoConfig implements ApplicationContextAware, CommandLineRunner { + @Resource + private RecProperties recProperties; + /** * Spring 上下文 */ diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecClient.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecClient.java new file mode 100644 index 0000000..65bf19e --- /dev/null +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecClient.java @@ -0,0 +1,26 @@ +package cn.icanci.rec.engine.sdk.properties; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/20 17:34 + */ +public class RecClient { + private String ip; + private int port; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } +} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecProperties.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecProperties.java new file mode 100644 index 0000000..6bc351d --- /dev/null +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecProperties.java @@ -0,0 +1,79 @@ +package cn.icanci.rec.engine.sdk.properties; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/20 17:25 + */ +@Component +@ConfigurationProperties(prefix = "rec") +public class RecProperties { + + /** + * 需要加载的域Code + * 以英文,分隔 + */ + private String domain; + + /** + * 是否加载所有域 + * 为true则加载所有域 + */ + private boolean loadAll; + /** + * 加载的环境 + */ + private String env; + + /** + * 客户端信息 + */ + private RecClient client; + + /** + * 服务端信息 + */ + private RecServer server; + + public String getDomain() { + return domain; + } + + public void setDomain(String domain) { + this.domain = domain; + } + + public boolean isLoadAll() { + return loadAll; + } + + public void setLoadAll(boolean loadAll) { + this.loadAll = loadAll; + } + + public String getEnv() { + return env; + } + + public void setEnv(String env) { + this.env = env; + } + + public RecClient getClient() { + return client; + } + + public void setClient(RecClient client) { + this.client = client; + } + + public RecServer getServer() { + return server; + } + + public void setServer(RecServer server) { + this.server = server; + } +} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecServer.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecServer.java new file mode 100644 index 0000000..62b576c --- /dev/null +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/properties/RecServer.java @@ -0,0 +1,26 @@ +package cn.icanci.rec.engine.sdk.properties; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/20 17:35 + */ +public class RecServer { + private String ip; + private int port; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } +} -- Gitee