diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceMetadataService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceMetadataService.java index 4304a74b..fb3d0d45 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceMetadataService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/instance/InstanceMetadataService.java @@ -38,6 +38,7 @@ public class InstanceMetadataService implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { instanceId2JobInfoCache = CacheBuilder.newBuilder() + .softValues() .concurrencyLevel(CACHE_CONCURRENCY_LEVEL) .maximumSize(instanceMetadataCacheSize) .build(); diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/CacheService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/CacheService.java index 619e5356..32a0b762 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/CacheService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/CacheService.java @@ -39,19 +39,23 @@ public class CacheService { public CacheService() { jobId2JobNameCache = CacheBuilder.newBuilder() + .softValues() .expireAfterWrite(Duration.ofMinutes(1)) .maximumSize(512) .build(); workflowId2WorkflowNameCache = CacheBuilder.newBuilder() + .softValues() .expireAfterWrite(Duration.ofMinutes(1)) .maximumSize(512) .build(); instanceId2AppId = CacheBuilder.newBuilder() + .softValues() .maximumSize(1024) .build(); jobId2AppId = CacheBuilder.newBuilder() + .softValues() .maximumSize(1024) .build(); } diff --git a/powerjob-server/powerjob-server-extension/src/main/java/tech/powerjob/server/extension/defaultimpl/alram/impl/DingTalkAlarmService.java b/powerjob-server/powerjob-server-extension/src/main/java/tech/powerjob/server/extension/defaultimpl/alram/impl/DingTalkAlarmService.java index ddfd6344..d5525120 100644 --- a/powerjob-server/powerjob-server-extension/src/main/java/tech/powerjob/server/extension/defaultimpl/alram/impl/DingTalkAlarmService.java +++ b/powerjob-server/powerjob-server-extension/src/main/java/tech/powerjob/server/extension/defaultimpl/alram/impl/DingTalkAlarmService.java @@ -105,7 +105,7 @@ public class DingTalkAlarmService implements Alarmable { } this.agentId = Long.valueOf(agentId); dingTalkUtils = new DingTalkUtils(appKey, appSecret); - mobile2UserIdCache = CacheBuilder.newBuilder().maximumSize(CACHE_SIZE).build(); + mobile2UserIdCache = CacheBuilder.newBuilder().softValues().maximumSize(CACHE_SIZE).build(); log.info("[DingTalkAlarmService] init DingTalkAlarmService successfully!"); } diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/LRUCache.java b/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/LRUCache.java index b51c12d4..b2a409bb 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/LRUCache.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/common/utils/LRUCache.java @@ -18,6 +18,7 @@ public class LRUCache { public LRUCache(int cacheSize) { innerCache = CacheBuilder.newBuilder() + .softValues() .concurrencyLevel(2) .maximumSize(cacheSize) .build();