From b8722665a5bfbcfbed2bd248e22fe52a41e00b1e Mon Sep 17 00:00:00 2001 From: weidong Date: Fri, 16 Feb 2024 10:14:44 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=AD=E7=82=B9=E7=BB=AD=E4=BC=A0?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=B6=88=E6=81=AF=E5=A2=9E=E5=8A=A0=E6=9C=80?= =?UTF-8?q?=E5=90=8E=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sideslope/sal/LocalDeviceServiceImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java index c7eacb8d..06e955df 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java @@ -14,9 +14,13 @@ import java.util.concurrent.TimeUnit; */ @Component(value = "local") public class LocalDeviceServiceImpl implements DeviceService { + /*static RemovalListener removalListener = new RemovalListener() { + public void onRemoval(RemovalNotification removal) { + } + };*/ private static final Cache deviceCache = CacheBuilder.newBuilder(). - expireAfterWrite(30, TimeUnit.MINUTES).build(); + expireAfterWrite(90, TimeUnit.MINUTES).build(); private static final Cache> subDeviceCache = CacheBuilder.newBuilder(). expireAfterWrite(10, TimeUnit.MINUTES).build(); @@ -49,9 +53,12 @@ public class LocalDeviceServiceImpl implements DeviceService { } public void refresh(String deviceId){ - Device device = delegate.findByDeviceId(deviceId); + Device device = deviceCache.getIfPresent(deviceId); if (device != null) { - deviceCache.put(deviceId, device); + if(device.getParentId()!=null) { + subDeviceCache.invalidate(device.getParentId()); + } + deviceCache.invalidate(deviceId); } } }