From d48dbe38a0caeb9f17622bb8e9271a01627eca05 Mon Sep 17 00:00:00 2001 From: weidong Date: Tue, 30 Jul 2024 16:43:44 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8A=A0=E6=89=93=E5=8D=B0=E6=9F=A5?= =?UTF-8?q?=E5=9F=BA=E7=AB=99=E4=BF=AE=E6=94=B9=E5=90=8C=E6=AD=A5=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sideslope/executor/D331RtcmMessageExecutor.java | 6 +++--- .../com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java index 99379af0..e4ab58d9 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java @@ -41,14 +41,14 @@ public class D331RtcmMessageExecutor implements Executor // 补齐tenantId Device device1 = deviceService.findByDeviceId(id); if(device1 == null || device1.getOpMode() == GnssDevice.OP_MODE_UNUSE) return null; - if (logger.isDebugEnabled()) { - logger.debug("receive d331 rtcm message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen()); - } + logger.debug("receive d331 rtcm message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen()); + // 推送基站数据 if(device1.getOpMode() == GnssDevice.OP_MODE_USE) { byte[] forwardBytes = message.getSrcData(); // 要求快速转发,因此用缓存,不要每次都查数据库 List deviceList = deviceService.findByParentId(id); + logger.debug("base station {} has {} rovers: "+message.getId(),deviceList.size()); for (Device device : deviceList) { if (device.getOpMode() != GnssDevice.OP_MODE_USE) continue; String deviceId = device.getDeviceId(); 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 f80e8e5d..88dd42de 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 @@ -2,6 +2,8 @@ package com.imdroid.sideslope.sal; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -14,13 +16,15 @@ import java.util.concurrent.TimeUnit; */ @Component(value = "local") public class LocalDeviceServiceImpl implements DeviceService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + /*static RemovalListener removalListener = new RemovalListener() { public void onRemoval(RemovalNotification removal) { } };*/ private static final Cache deviceCache = CacheBuilder.newBuilder(). - expireAfterAccess(90, TimeUnit.MINUTES).build(); + expireAfterAccess(20, TimeUnit.MINUTES).build(); private static final Cache> subDeviceCache = CacheBuilder.newBuilder(). expireAfterAccess(10, TimeUnit.MINUTES).build(); @@ -44,6 +48,7 @@ public class LocalDeviceServiceImpl implements DeviceService { public List findByParentId(String parentId) { List device = subDeviceCache.getIfPresent(parentId); if (device == null) { + logger.debug("base station {} refresh: "+parentId); device = delegate.findByParentId(parentId); if (device != null) { subDeviceCache.put(parentId, device);