diff --git a/pom.xml b/pom.xml index 42059333..9320dad4 100644 --- a/pom.xml +++ b/pom.xml @@ -430,6 +430,16 @@ + + com.hazelcast + hazelcast + + + com.hazelcast + hazelcast-spring + + + diff --git a/src/main/java/cn/lihongjie/coal/cacheCtl/service/CacheCtlService.java b/src/main/java/cn/lihongjie/coal/cacheCtl/service/CacheCtlService.java index 7524e64f..c597ec07 100644 --- a/src/main/java/cn/lihongjie/coal/cacheCtl/service/CacheCtlService.java +++ b/src/main/java/cn/lihongjie/coal/cacheCtl/service/CacheCtlService.java @@ -14,6 +14,7 @@ import cn.lihongjie.coal.spring.config.MultiLevelCache; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Splitter; +import com.hazelcast.spring.cache.HazelcastCache; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -146,7 +147,20 @@ public class CacheCtlService extends BaseService { + CacheCtlDto dto = new CacheCtlDto(request.getId()); + dto.setId(request.getId()); + dto.setCacheKey(x.toString()); + return dto; + }) + .collect(Collectors.toList()); + } + + else { throw new BizException("不支持的缓存类型"); } diff --git a/src/main/java/cn/lihongjie/coal/dataCollector/service/DataCollectorService.java b/src/main/java/cn/lihongjie/coal/dataCollector/service/DataCollectorService.java index d6eb99e8..7b3420e2 100644 --- a/src/main/java/cn/lihongjie/coal/dataCollector/service/DataCollectorService.java +++ b/src/main/java/cn/lihongjie/coal/dataCollector/service/DataCollectorService.java @@ -20,7 +20,6 @@ import jakarta.persistence.PersistenceContext; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.springframework.amqp.core.AmqpAdmin; import org.springframework.amqp.core.MessagePostProcessor; @@ -83,9 +82,9 @@ public class DataCollectorService @Async public void init() { - findAll().stream() - .filter(x -> StringUtils.isNotEmpty(x.getAppKey())) - .forEach(this::createQueue); +// findAll().stream() +// .filter(x -> StringUtils.isNotEmpty(x.getAppKey())) +// .forEach(this::createQueue); } public Object getLocalStatus(GetLocalStatusRequest getLocalStatusRequest) { diff --git a/src/main/java/cn/lihongjie/coal/resource/service/ResourceService.java b/src/main/java/cn/lihongjie/coal/resource/service/ResourceService.java index 3c6b5c9b..ef501c28 100644 --- a/src/main/java/cn/lihongjie/coal/resource/service/ResourceService.java +++ b/src/main/java/cn/lihongjie/coal/resource/service/ResourceService.java @@ -79,7 +79,7 @@ public class ResourceService extends BaseService allResources(){ return this.repository.findAll().stream().map(mapper::toDto).collect(Collectors.toList()); @@ -248,14 +248,14 @@ public class ResourceService extends BaseService menuTree() { return this.mapper.toTreeDto( this.repository.findAllByTypeAndParentIsNullOrderBySortKey("0")); } - @Cacheable(cacheNames = CACHE_RESOURCE_API_TREE) + @Cacheable(cacheNames = CACHE_RESOURCE_API_TREE, key = "'all'") public List apiTree() { return this.mapper.toTreeDto( this.repository.findAllByTypeAndParentIsNullOrderBySortKey("3")); diff --git a/src/main/java/cn/lihongjie/coal/runner/InitDataRunner.java b/src/main/java/cn/lihongjie/coal/runner/InitDataRunner.java index d2722a90..5783f42b 100644 --- a/src/main/java/cn/lihongjie/coal/runner/InitDataRunner.java +++ b/src/main/java/cn/lihongjie/coal/runner/InitDataRunner.java @@ -15,16 +15,16 @@ import cn.lihongjie.coal.user.entity.UserEntity; import cn.lihongjie.coal.user.mapper.UserMapper; import cn.lihongjie.coal.user.service.UserService; +import jakarta.transaction.Transactional; + import lombok.extern.slf4j.Slf4j; import org.flywaydb.core.Flyway; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; -import org.springframework.scheduling.annotation.Async; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StopWatch; @Component @@ -57,7 +57,7 @@ public class InitDataRunner implements CommandLineRunner { @Override @Transactional - @Async +// @Async public void run(String... args) throws Exception { StopWatch stopWatch = new StopWatch("InitDataRunner"); diff --git a/src/main/java/cn/lihongjie/coal/spring/config/HazelcastConfig.java b/src/main/java/cn/lihongjie/coal/spring/config/HazelcastConfig.java new file mode 100644 index 00000000..8dd9f7d9 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/spring/config/HazelcastConfig.java @@ -0,0 +1,23 @@ +package cn.lihongjie.coal.spring.config; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.cache.CacheManager; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import java.util.*; + +@Configuration +@Slf4j +public class HazelcastConfig { + + @Bean + @Primary + public CacheManager hazelcastCacheManager( + com.hazelcast.core.HazelcastInstance hazelcastInstance) { + log.info("Creating HazelcastCacheManager"); + return new com.hazelcast.spring.cache.HazelcastCacheManager(hazelcastInstance); + } +} diff --git a/src/main/resources/application-test.yaml b/src/main/resources/application-test.yaml index 9e9200ce..6c99d5c5 100644 --- a/src/main/resources/application-test.yaml +++ b/src/main/resources/application-test.yaml @@ -11,4 +11,9 @@ logging: file: info console: info server: - port: 7457 \ No newline at end of file + port: 7457 + + +spring: + hazelcast: + config: classpath:hazelcast-test.yaml \ No newline at end of file diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 3200b458..d3bcbe6b 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -57,7 +57,8 @@ spring: org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate org.quartz.jobStore.class: org.springframework.scheduling.quartz.LocalDataSourceJobStore startup-delay: 10s - + hazelcast: + config: classpath:hazelcast.yaml devtools: diff --git a/src/main/resources/hazelcast-test.yaml b/src/main/resources/hazelcast-test.yaml new file mode 100644 index 00000000..fbc5d64c --- /dev/null +++ b/src/main/resources/hazelcast-test.yaml @@ -0,0 +1,8 @@ +hazelcast: + cluster-name: coal + network: + join: + tcp-ip: + enabled: true + member-list: + - "10.50.15.0-10.50.15.254" diff --git a/src/main/resources/hazelcast.yaml b/src/main/resources/hazelcast.yaml new file mode 100644 index 00000000..9125665b --- /dev/null +++ b/src/main/resources/hazelcast.yaml @@ -0,0 +1,2 @@ +hazelcast: + cluster-name: coal