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 8d876852..36228ce3 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 @@ -44,16 +44,12 @@ public class D331RtcmMessageExecutor implements Executor if(device1.getOpMode() == GnssDevice.OP_MODE_USE) { byte[] forwardBytes = message.getSrcData(); - boolean useUDPChannel = true; - if(device1.getDeviceId().equals("2410207")) useUDPChannel = false; // 要求快速转发,因此用缓存,不要每次都查数据库 List deviceList = deviceService.findByParentId(id); for (Device device : deviceList) { if (device.getOpMode() != GnssDevice.OP_MODE_USE) continue; String deviceId = device.getDeviceId(); - DeviceChannel deviceChannel = - useUDPChannel?OnlineChannels.INSTANCE.getDataChannel(deviceId):OnlineChannels.INSTANCE.getConfigChannel(deviceId); - if(deviceChannel!=null) { + OnlineChannels.INSTANCE.get(deviceId).ifPresent(deviceChannel -> { if (logger.isDebugEnabled()) { logger.debug("forward d331 rtcm message to device {}", deviceId); } @@ -63,7 +59,7 @@ public class D331RtcmMessageExecutor implements Executor ByteBuf buf = Unpooled.buffer(); buf.writeBytes(forwardBytes); deviceChannel.writeAndFlush(buf); - } + }); } }