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