From debbc8e836fd57ce36897b83c79861a8a913cb0e Mon Sep 17 00:00:00 2001 From: jay <75509151@qq.com> Date: Mon, 26 Feb 2024 15:02:01 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E4=BB=8Eapplication=E4=B8=AD?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E9=85=8D=E7=BD=AE,=201.=E5=86=85=E9=83=A8red?= =?UTF-8?q?is=E5=90=AF=E7=94=A8=202.=E5=86=85=E9=83=A8es=E5=90=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cc/iotkit/Application.java | 10 ------ .../config/EmbeddedElasticSearchConfig.java | 35 +++++++++++-------- .../cc/iotkit/config/EmbeddedRedisConfig.java | 25 +++++++++---- .../src/main/resources/application.yml | 6 ++++ 4 files changed, 45 insertions(+), 31 deletions(-) diff --git a/iot-starter/src/main/java/cc/iotkit/Application.java b/iot-starter/src/main/java/cc/iotkit/Application.java index 6abca5c9..db7b70e2 100644 --- a/iot-starter/src/main/java/cc/iotkit/Application.java +++ b/iot-starter/src/main/java/cc/iotkit/Application.java @@ -9,8 +9,6 @@ */ package cc.iotkit; -import cc.iotkit.config.EmbeddedElasticSearchConfig; -import cc.iotkit.config.EmbeddedRedisConfig; import com.gitee.starblues.loader.DevelopmentMode; import com.gitee.starblues.loader.launcher.SpringBootstrap; import com.gitee.starblues.loader.launcher.SpringMainBootstrap; @@ -31,14 +29,6 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc; public class Application implements SpringBootstrap { public static void main(String[] args) { -// System.setProperty("disabledEmbeddedEs", "true"); -// System.setProperty("disabledEmbeddedRedis", "true"); - if (EmbeddedElasticSearchConfig.embeddedEnable()) { - EmbeddedElasticSearchConfig.startEmbeddedElasticSearch(); - } - if (EmbeddedRedisConfig.embeddedEnable()) { - EmbeddedRedisConfig.startEmbeddedRedisServer(); - } SpringMainBootstrap.launch(Application.class, args); log.info("server start success!"); diff --git a/iot-starter/src/main/java/cc/iotkit/config/EmbeddedElasticSearchConfig.java b/iot-starter/src/main/java/cc/iotkit/config/EmbeddedElasticSearchConfig.java index 94cbdccd..35f2e241 100644 --- a/iot-starter/src/main/java/cc/iotkit/config/EmbeddedElasticSearchConfig.java +++ b/iot-starter/src/main/java/cc/iotkit/config/EmbeddedElasticSearchConfig.java @@ -14,36 +14,41 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.node.InternalSettingsPreparer; import org.elasticsearch.node.Node; import org.elasticsearch.transport.Netty4Plugin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import java.util.Collections; +@Component public class EmbeddedElasticSearchConfig { - static { - System.setProperty("es.set.netty.runtime.available.processors", "false"); - } + @Value("${spring.elasticsearch.embedded.enabled}") + private boolean embeddedElasticsearchEnabled; - public static boolean embeddedEnable() { - try { - Class.forName("cc.iotkit.temporal.es.config.ElasticsearchConfiguration"); - } catch (ClassNotFoundException e) { - return false; + @Value("${spring.elasticsearch.embedded.port}") + private Integer esPort; + + @PostConstruct + private void start(){ + if (embeddedElasticsearchEnabled) { + startEmbeddedElasticSearch(esPort); } - return !"true".equals(System.getProperty("disabledEmbeddedEs")); + } @SneakyThrows - public static void startEmbeddedElasticSearch() { - EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(new ConfigProperty()); + public void startEmbeddedElasticSearch(Integer port) { + EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(new ConfigProperty(), port); embeddedElasticSearch.start(); } - public static class ConfigProperty { + public class ConfigProperty { public Settings.Builder applySetting(Settings.Builder settings) { String dataPath = "./data/elasticsearch"; String homePath = "./"; - int port = 9200; + int port = esPort; String host = "0.0.0.0"; return settings.put("network.host", host) .put("http.port", port) @@ -56,7 +61,7 @@ public class EmbeddedElasticSearchConfig { public static class EmbeddedElasticSearch extends Node { @SneakyThrows - public EmbeddedElasticSearch(ConfigProperty properties) { + public EmbeddedElasticSearch(ConfigProperty properties, Integer port) { super(InternalSettingsPreparer.prepareEnvironment( properties.applySetting( Settings.builder() @@ -65,7 +70,7 @@ public class EmbeddedElasticSearchConfig { .put("transport.type", Netty4Plugin.NETTY_TRANSPORT_NAME) .put("http.type", Netty4Plugin.NETTY_HTTP_TRANSPORT_NAME) .put("network.host", "0.0.0.0") - .put("http.port", 9200) + .put("http.port", port) ).build(), Collections.emptyMap(), null, () -> "default"), Collections.singleton(Netty4Plugin.class), false); } diff --git a/iot-starter/src/main/java/cc/iotkit/config/EmbeddedRedisConfig.java b/iot-starter/src/main/java/cc/iotkit/config/EmbeddedRedisConfig.java index ddd42708..6b61574d 100644 --- a/iot-starter/src/main/java/cc/iotkit/config/EmbeddedRedisConfig.java +++ b/iot-starter/src/main/java/cc/iotkit/config/EmbeddedRedisConfig.java @@ -10,26 +10,39 @@ package cc.iotkit.config; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import redis.embedded.RedisServer; +import javax.annotation.PostConstruct; + @Slf4j +@Component public class EmbeddedRedisConfig { - public static boolean embeddedEnable() { - return !"true".equals(System.getProperty("disabledEmbeddedRedis")); - } + @Value("${spring.redis.embedded.enabled}") + private boolean embeddedRedisEnabled; + @Value("${spring.redis.port}") + private Integer redisPort; - public static void startEmbeddedRedisServer() { + @PostConstruct + private void start(){ + if (embeddedRedisEnabled) { + startEmbeddedRedisServer(redisPort); + } + + } + public static void startEmbeddedRedisServer(Integer port) { RedisServer redisServer; String os = System.getProperty("os.name").toLowerCase(); if (os.contains("windows")) { redisServer = RedisServer.builder().setting("maxheap 200m") - .port(6378) + .port(port) .setting("bind localhost") .build(); } else { redisServer = RedisServer.builder() - .port(6378) + .port(port) .setting("bind localhost") .build(); } diff --git a/iot-starter/src/main/resources/application.yml b/iot-starter/src/main/resources/application.yml index e0785add..4a8e7cf3 100644 --- a/iot-starter/src/main/resources/application.yml +++ b/iot-starter/src/main/resources/application.yml @@ -87,6 +87,10 @@ spring: #<<================es时序数据配置开始=============== elasticsearch: + embedded: + # 是否启用内部es + enabled: true + port: 9200 rest: #使用内置es的配置 #uris: http://elasticsearch:9200 @@ -115,6 +119,8 @@ spring: redis: #使用内置redis的配置 + embedded: + enabled: true #host: redis host: 127.0.0.1 port: 6378