From c65d5bc9ae9334968325569d272d05cd7a92b566 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 14 Dec 2023 10:48:30 +0800 Subject: [PATCH] =?UTF-8?q?beta=EF=BC=8Cgamma=E7=9A=84Guava=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=A2=9E=E5=8A=A0init?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E8=AF=BB=E5=8F=96nacos=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=97=B6=E9=97=B4=E5=AE=9E=E7=8E=B0=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E6=97=B6=E9=95=BF=20=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E5=90=AF=E5=8A=A8=E7=B1=BB=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E7=94=9F=E6=88=90beta=EF=BC=8Cgamma=E7=9A=84?= =?UTF-8?q?Gauva=E7=BC=93=E5=AD=98=E5=AE=9E=E4=BD=93=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=20=E5=A2=9E=E5=8A=A0DurationProperties=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E6=8E=A5=E6=94=B6=E8=AF=BB=E5=8F=96nacos?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=BC=93=E5=AD=98=E6=97=B6=E9=97=B4=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/properties/DurationProperties.java | 16 ++++++++ .../org/jeecg/common/cache/BetaCache.java | 39 +++++++++++-------- .../org/jeecg/common/cache/LocalCache.java | 37 +++++++++++------- .../JeecgSpectrumAnalysisApplication.java | 12 ++++++ 4 files changed, 75 insertions(+), 29 deletions(-) create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DurationProperties.java diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DurationProperties.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DurationProperties.java new file mode 100644 index 00000000..7cfdc89e --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DurationProperties.java @@ -0,0 +1,16 @@ +package org.jeecg.common.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import java.io.Serializable; + +@Data +@Component +@ConfigurationProperties(prefix = "duration") +public class DurationProperties implements Serializable { + + private Integer cache; + +} diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/BetaCache.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/BetaCache.java index ef4b8166..b2fe4f4d 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/BetaCache.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/BetaCache.java @@ -2,29 +2,36 @@ package org.jeecg.common.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import org.jeecg.common.properties.DurationProperties; import org.jeecg.modules.entity.vo.BetaDataFile; -import org.jeecg.modules.entity.vo.PHDFile; -import org.jeecg.modules.entity.vo.SeriseData; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.List; -import java.util.Map; import java.util.concurrent.TimeUnit; @Component public class BetaCache { - private Cache betaCache = CacheBuilder.newBuilder() - //设置缓存初始大小,应该合理设置,后续会扩容 - .initialCapacity(10) - //最大值 - .maximumSize(100) - //并发数设置 - .concurrencyLevel(5) - //缓存过期时间,写入后5秒钟过期 - .expireAfterWrite(24, TimeUnit.HOURS) - //统计缓存命中率 - .recordStats() - .build(); + + @Autowired + private DurationProperties durationProperties; + + private Cache betaCache; + + public void initCache() { + betaCache = CacheBuilder.newBuilder() + //设置缓存初始大小,应该合理设置,后续会扩容 + .initialCapacity(10) + //最大值 + .maximumSize(100) + //并发数设置 + .concurrencyLevel(5) + //缓存过期时间,写入后XX小时后过期 + .expireAfterWrite(durationProperties.getCache(), TimeUnit.HOURS) + //统计缓存命中率 + .recordStats() + .build(); + } + public Cache getBetaCache() { return betaCache; diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/LocalCache.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/LocalCache.java index b52fd032..82b06df5 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/LocalCache.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/cache/LocalCache.java @@ -3,25 +3,36 @@ package org.jeecg.common.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import org.jeecg.modules.entity.vo.PHDFile; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Component public class LocalCache { - private Cache phdCache = CacheBuilder.newBuilder() - //设置缓存初始大小,应该合理设置,后续会扩容 - .initialCapacity(10) - //最大值 - .maximumSize(100) - //并发数设置 - .concurrencyLevel(5) - //缓存过期时间,写入后5秒钟过期 - .expireAfterWrite(24, TimeUnit.HOURS) - //统计缓存命中率 - .recordStats() - .build(); + + @Value("${duration.cache}") + private Long duration; + + private Cache phdCache; + + public void initCache() { + phdCache = CacheBuilder.newBuilder() + //设置缓存初始大小,应该合理设置,后续会扩容 + .initialCapacity(10) + //最大值 + .maximumSize(100) + //并发数设置 + .concurrencyLevel(5) + //缓存过期时间,写入后XX小时后过期 + .expireAfterWrite(duration, TimeUnit.HOURS) + //统计缓存命中率 + .recordStats() + .build(); + } + public Cache getPHDCache() { return phdCache; diff --git a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java index 72f47bff..7bf5620d 100644 --- a/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java +++ b/jeecg-server-cloud/armd-spectrum-analysis-start/src/main/java/org/jeecg/JeecgSpectrumAnalysisApplication.java @@ -1,7 +1,10 @@ package org.jeecg; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.cache.BetaCache; +import org.jeecg.common.cache.LocalCache; import org.jeecg.common.util.oConvertUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -20,6 +23,12 @@ import java.net.UnknownHostException; @EnableFeignClients(basePackages = {"org.jeecg"}) @EnableScheduling public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializer implements CommandLineRunner { + @Autowired + private LocalCache localCache; + @Autowired + private BetaCache betaCache; + + @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(JeecgSpectrumAnalysisApplication.class); @@ -44,5 +53,8 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ //加载dll工具库 System.loadLibrary("ReadPHDFile"); System.loadLibrary("GammaAnaly"); + //创建缓存 + betaCache.initCache(); + localCache.initCache(); } } \ No newline at end of file