From b587ba125adcee0631bc816540779cca56f9099b Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 01 二月 2024 12:03:11 +0800 Subject: [PATCH] 增加定时监测更新雷达连接状态 --- src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java | 94 ++-- src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java | 292 ++++++++------- src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java | 151 ++++--- src/main/resources/logback-spring.xml | 370 +++++++++--------- src/main/resources/application-dev.yml | 4 src/main/resources/application-prod.yml | 150 ++++--- src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java | 51 +- src/main/resources/application.yml | 6 8 files changed, 583 insertions(+), 535 deletions(-) diff --git a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java index 1bcadef..b085183 100644 --- a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java +++ b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java @@ -1,75 +1,76 @@ -package com.ard.alarm.radar.domain; - -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; - -/** - * radar瀵硅薄 ard_equip_radar - * - * @author zj - * @date 2023-03-11 - */ -@Data -public class ArdEquipRadar -{ - private static final long serialVersionUID = 1L; - - /** id */ - private String id; - /** 鍚嶇О */ - private String name; - /** 绔彛 */ - private Integer port; - - /** 鎿嶄綔鍛榠d */ - private String operate; - - /** 鍒犻櫎鏍囪 */ - private String delFlag; - - /** 鐢ㄦ埛id */ - private String userId; - - /** 缁忓害 */ - private Double longitude; - - /** 缁村害 */ - private Double latitude; - - /** 楂樼▼ */ - private Double altitude; - - /** 瀹夎鏃堕棿 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date radarDate; - - /** 閮ㄩ棬id */ - private Long deptId; - - /** 淇话瑙� */ - private String pitch; - - /** 濉攊d */ - private String towerId; - - /** 濉斿悕绉� */ - @TableField(exist = false) - private String towerName; - - /** 鍥惧儚瀹藉害 */ - private String imageWidth; - - /** 鍥惧儚楂樺害 */ - private String imageHeight; - - /** 鍨嬪彿 */ - private String type; - - /** ip */ - private String ip; - - -} +package com.ard.alarm.radar.domain; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +/** + * radar瀵硅薄 ard_equip_radar + * + * @author zj + * @date 2023-03-11 + */ +@Data +public class ArdEquipRadar +{ + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + /** 鍚嶇О */ + private String name; + /** 绔彛 */ + private Integer port; + + /** 鎿嶄綔鍛榠d */ + private String operate; + + /** 鍒犻櫎鏍囪 */ + private String delFlag; + + /** 鐢ㄦ埛id */ + private String userId; + + /** 缁忓害 */ + private Double longitude; + + /** 缁村害 */ + private Double latitude; + + /** 楂樼▼ */ + private Double altitude; + + /** 瀹夎鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date radarDate; + + /** 閮ㄩ棬id */ + private Long deptId; + + /** 淇话瑙� */ + private String pitch; + + /** 濉攊d */ + private String towerId; + + /** 濉斿悕绉� */ + @TableField(exist = false) + private String towerName; + + /** 鍥惧儚瀹藉害 */ + private String imageWidth; + + /** 鍥惧儚楂樺害 */ + private String imageHeight; + + /** 鍨嬪彿 */ + private String type; + + /** ip */ + private String ip; + + /** 杩炴帴鐘舵�� */ + private String state; +} diff --git a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java index 97c6b45..ba01789 100644 --- a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java +++ b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java @@ -1,22 +1,29 @@ -package com.ard.alarm.radar.service; - -import java.util.List; -import com.ard.alarm.radar.domain.ArdEquipRadar; - -/** - * radarService鎺ュ彛 - * - * @author zj - * @date 2023-03-11 - */ -public interface IArdEquipRadarService { - - /** - * 鏌ヨradar鍒楄〃 - * - * @param ardEquipRadar radar - * @return radar闆嗗悎 - */ - public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar); - public ArdEquipRadar selectArdEquipRadarById(String radarId); -} \ No newline at end of file +package com.ard.alarm.radar.service; + +import java.util.List; +import com.ard.alarm.radar.domain.ArdEquipRadar; + +/** + * radarService鎺ュ彛 + * + * @author zj + * @date 2023-03-11 + */ +public interface IArdEquipRadarService { + + /** + * 鏌ヨradar鍒楄〃 + * + * @param ardEquipRadar radar + * @return radar闆嗗悎 + */ + public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar); + public ArdEquipRadar selectArdEquipRadarById(String radarId); + /** + * 鏇存柊闆疯揪 + * + * @param ardEquipRadar radar + * @return radar闆嗗悎 + */ + public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar); +} diff --git a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java index 1cb657a..b92a697 100644 --- a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java +++ b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java @@ -1,41 +1,53 @@ -package com.ard.alarm.radar.service.impl; - -import java.util.List; - -import com.ard.alarm.external.domain.ArdEquipExternal; -import com.ard.alarm.radar.domain.ArdEquipRadar; -import com.ard.alarm.radar.mapper.ArdEquipRadarMapper; -import com.ard.alarm.radar.service.IArdEquipRadarService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * radarService涓氬姟灞傚鐞� - * - * @author zj - * @date 2023-03-11 - */ -@Service -public class ArdEquipRadarServiceImpl implements IArdEquipRadarService { - @Autowired - private ArdEquipRadarMapper ardEquipRadarMapper; - - - /** - * 鏌ヨradar鍒楄〃 - * - * @param ardEquipRadar radar - * @return radar - */ - @Override - public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) { - QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(ardEquipRadar); - return ardEquipRadarMapper.selectList(queryWrapper); - } - - @Override - public ArdEquipRadar selectArdEquipRadarById(String radarId) { - return ardEquipRadarMapper.selectById(radarId); - } -} +package com.ard.alarm.radar.service.impl; + +import java.util.List; + +import com.ard.alarm.external.domain.ArdEquipExternal; +import com.ard.alarm.radar.domain.ArdEquipRadar; +import com.ard.alarm.radar.mapper.ArdEquipRadarMapper; +import com.ard.alarm.radar.service.IArdEquipRadarService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * radarService涓氬姟灞傚鐞� + * + * @author zj + * @date 2023-03-11 + */ +@Service +public class ArdEquipRadarServiceImpl implements IArdEquipRadarService { + @Resource + private ArdEquipRadarMapper ardEquipRadarMapper; + + + /** + * 鏌ヨradar鍒楄〃 + * + * @param ardEquipRadar radar + * @return radar + */ + @Override + public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) { + QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(ardEquipRadar); + return ardEquipRadarMapper.selectList(queryWrapper); + } + + @Override + public ArdEquipRadar selectArdEquipRadarById(String radarId) { + return ardEquipRadarMapper.selectById(radarId); + } + /** + * 鏇存柊闆疯揪 + * + * @param ardEquipRadar radar + * @return radar + */ + @Override + public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar) { + return ardEquipRadarMapper.updateById(ardEquipRadar); + } +} diff --git a/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java b/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java index b30b2b5..e66e3e8 100644 --- a/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java +++ b/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java @@ -1,133 +1,159 @@ -package com.ard.utils.netty.tcp; - -import com.ard.alarm.radar.domain.ArdEquipRadar; -import com.ard.alarm.radar.service.IArdEquipRadarService; -import com.ard.utils.netty.config.NettyTcpConfiguration; -import io.netty.bootstrap.Bootstrap; -import io.netty.channel.*; -import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.channel.socket.SocketChannel; -import io.netty.channel.socket.nio.NioSocketChannel; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArraySet; -import java.util.function.Consumer; - -/** - * 瀹㈡埛绔垵濮嬪寲 - * - * @author lijiamin - */ -@Component -@Slf4j(topic = "netty") -@Order(2) -public class ClientInitialize implements ApplicationRunner { - @Resource - NettyTcpConfiguration nettyTcpConfig; - @Resource - IArdEquipRadarService ardEquipRadarService; - - private Bootstrap bootstrap; - public static CopyOnWriteArraySet<ArdEquipRadar> falseConnectSet = new CopyOnWriteArraySet();//澶辫触杩炴帴鐨勯浄杈維et - public static ConcurrentHashMap<String, ArdEquipRadar> trueConnectMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勯浄杈� - public static ConcurrentHashMap<String, MessageHandler> SucMessageHandlerMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勬姤鏂囪В鏋愬櫒 - public static ConcurrentHashMap<String, Channel> SucChannelMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨刵etty閫氶亾 - - /** - * Netty鍒濆鍖栭厤缃� - */ - public void initNettyTcp() { - EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); - bootstrap = new Bootstrap(); - bootstrap.group(eventLoopGroup) - .channel(NioSocketChannel.class) - .option(ChannelOption.TCP_NODELAY, true) - .option(ChannelOption.SO_KEEPALIVE, true) - .handler(new ChannelInitializer<SocketChannel>() { - @Override - protected void initChannel(SocketChannel socketChannel) { - socketChannel.pipeline().addLast(new ClientHandler()); - } - }); - - //寮傛鎸佺画鐩戝惉杩炴帴澶辫触鐨勫湴鍧� - CompletableFuture.runAsync(new Runnable() { - @Override - public void run() { - while (true) { - try { - if (falseConnectSet.size() != 0) { - // 寰幆闆嗗悎鍐呭厓绱� - falseConnectSet.forEach(new Consumer<ArdEquipRadar>() { - @Override - public void accept(ArdEquipRadar radar) { - connectServer(radar); - } - }); - } - Thread.sleep(10000); - } catch (Exception e) { - log.error("Netty鍒濆鍖栭厤缃洃鍚湴鍧�鍑虹幇寮傚父"); - e.printStackTrace(); - } - } - } - }); - } - - /** - * 鏈嶅姟杩炴帴 - * - * @param ardEquipRadar - */ - public void connectServer(ArdEquipRadar ardEquipRadar) { - // 鑾峰彇鍦板潃鍙婄鍙� - String host = ardEquipRadar.getIp(); - Integer port = ardEquipRadar.getPort(); - String ipPort = host + ":" + port; - // 寮傛杩炴帴tcp鏈嶅姟绔� - bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> { - if (futureListener.isSuccess()) { - log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ユ垚鍔�"); - // 杩炴帴鎴愬姛淇℃伅浠嶴et鎷旈櫎 - falseConnectSet.remove(ardEquipRadar); - // 杩炴帴鎴愬姛淇℃伅鍐欏叆map - trueConnectMap.put(ipPort, ardEquipRadar); - SucMessageHandlerMap.put(ipPort, new MessageHandler()); - SucChannelMap.put(ipPort, futureListener.channel()); - } else { - log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ュけ璐�"); - futureListener.channel().close(); - // 杩炴帴澶辫触淇℃伅鎻掑叆Set - falseConnectSet.add(ardEquipRadar); - - } - }); - } - - /** - * 鍒濆鍖栨柟娉� - */ - @Override - public void run(ApplicationArguments args) { - if (!nettyTcpConfig.getEnabled()) { - return; - } - initNettyTcp();//鍒濆鍖杗ettyTcp - List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar()); - for (ArdEquipRadar ardEquipRadar : ardEquipRadars) { - String host = ardEquipRadar.getIp(); - Integer port = Integer.valueOf(ardEquipRadar.getPort()); - log.debug("TCP client try to connect radar銆�" + host + ":" + port + "銆�"); - connectServer(ardEquipRadar);//杩炴帴姣忎竴涓浄杈炬湇鍔� - } - } -} +package com.ard.utils.netty.tcp; + +import com.ard.alarm.radar.domain.ArdEquipRadar; +import com.ard.alarm.radar.service.IArdEquipRadarService; +import com.ard.utils.netty.config.NettyTcpConfiguration; +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.*; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.function.Consumer; + +/** + * 瀹㈡埛绔垵濮嬪寲 + * + * @author lijiamin + */ +@Component +@Slf4j(topic = "netty") +@Order(2) +public class ClientInitialize implements ApplicationRunner { + @Resource + NettyTcpConfiguration nettyTcpConfig; + @Resource + IArdEquipRadarService ardEquipRadarService; + + private Bootstrap bootstrap; + public static CopyOnWriteArraySet<ArdEquipRadar> falseConnectSet = new CopyOnWriteArraySet();//澶辫触杩炴帴鐨勯浄杈維et + public static ConcurrentHashMap<String, ArdEquipRadar> trueConnectMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勯浄杈� + public static ConcurrentHashMap<String, MessageHandler> SucMessageHandlerMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勬姤鏂囪В鏋愬櫒 + public static ConcurrentHashMap<String, Channel> SucChannelMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨刵etty閫氶亾 + + /** + * Netty鍒濆鍖栭厤缃� + */ + public void initNettyTcp() { + EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + bootstrap = new Bootstrap(); + bootstrap.group(eventLoopGroup) + .channel(NioSocketChannel.class) + .option(ChannelOption.TCP_NODELAY, true) + .option(ChannelOption.SO_KEEPALIVE, true) + .handler(new ChannelInitializer<SocketChannel>() { + @Override + protected void initChannel(SocketChannel socketChannel) { + socketChannel.pipeline().addLast(new ClientHandler()); + } + }); + + //寮傛鎸佺画鐩戝惉杩炴帴澶辫触鐨勫湴鍧� + CompletableFuture.runAsync(new Runnable() { + @Override + public void run() { + while (true) { + try { + if (falseConnectSet.size() != 0) { + // 寰幆闆嗗悎鍐呭厓绱� + falseConnectSet.forEach(new Consumer<ArdEquipRadar>() { + @Override + public void accept(ArdEquipRadar radar) { + connectServer(radar); + } + }); + } + Thread.sleep(10000); + } catch (Exception e) { + log.error("Netty鍒濆鍖栭厤缃洃鍚湴鍧�鍑虹幇寮傚父"); + e.printStackTrace(); + } + } + } + }); + } + + /** + * 鏈嶅姟杩炴帴 + * + * @param ardEquipRadar + */ + public void connectServer(ArdEquipRadar ardEquipRadar) { + // 鑾峰彇鍦板潃鍙婄鍙� + String host = ardEquipRadar.getIp(); + Integer port = ardEquipRadar.getPort(); + String ipPort = host + ":" + port; + // 寮傛杩炴帴tcp鏈嶅姟绔� + bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> { + if (futureListener.isSuccess()) { + log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ユ垚鍔�"); + // 杩炴帴鎴愬姛淇℃伅浠嶴et鎷旈櫎 + falseConnectSet.remove(ardEquipRadar); + // 杩炴帴鎴愬姛淇℃伅鍐欏叆map + trueConnectMap.put(ipPort, ardEquipRadar); + SucMessageHandlerMap.put(ipPort, new MessageHandler()); + SucChannelMap.put(ipPort, futureListener.channel()); + } else { + log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ュけ璐�"); + futureListener.channel().close(); + // 杩炴帴澶辫触淇℃伅鎻掑叆Set + falseConnectSet.add(ardEquipRadar); + + } + }); + } + + /** + * 鍒濆鍖栨柟娉� + */ + @Override + public void run(ApplicationArguments args) { + if (!nettyTcpConfig.getEnabled()) { + return; + } + initNettyTcp();//鍒濆鍖杗ettyTcp + List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar()); + for (ArdEquipRadar ardEquipRadar : ardEquipRadars) { + String host = ardEquipRadar.getIp(); + Integer port = Integer.valueOf(ardEquipRadar.getPort()); + log.debug("TCP client try to connect radar銆�" + host + ":" + port + "銆�"); + connectServer(ardEquipRadar);//杩炴帴姣忎竴涓浄杈炬湇鍔� + } + } + + /** + * 鐩戞祴闆疯揪杩炴帴鐘舵�� + */ + @Scheduled(cron = "0/5 * * * * ?") + public void monitorConnectStatus() { + log.debug("瀹氭椂鐩戞祴闆疯揪杩炴帴鐘舵��"); + List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar()); + ardEquipRadars.stream().forEach(ardEquipRadar ->{ + if(trueConnectMap.contains(ardEquipRadar.getIp()+"_"+ardEquipRadar.getPort())) + { + if(!ardEquipRadar.getState().equals("1")) { + ardEquipRadar.setState("1"); + ardEquipRadarService.updateArdEquipRadar(ardEquipRadar); + } + } + else + { + if(!ardEquipRadar.getState().equals("0")) { + ardEquipRadar.setState("0"); + ardEquipRadarService.updateArdEquipRadar(ardEquipRadar); + } + } + }); + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index ac119ec..9203fb2 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -66,10 +66,10 @@ logging: level: hikSdk: info - mqtt: debug + mqtt: info netty: debug external: info camera: info tube: info digitization3: info - stealAlarm: info \ No newline at end of file + stealAlarm: info diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 6be39a7..13649a0 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,75 +1,77 @@ -# 寮�鍙戠幆澧� -server: - port: 8088 -# spring閰嶇疆 -spring: - servlet: - multipart: - enabled: true - max-file-size: 30MB - max-request-size: 30MB - datasource: - druid: - #寮�鍚痙ruid鐩戞帶web - stat-view-servlet: - enabled: true - driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://192.168.2.15:5432/ry-vue - username: postgres - password: postgres - #鏈�澶ц繛鎺ユ暟 - maxActive: 30 - #鏈�灏忚繛鎺ユ暟 - minIdle: 5 - #鑾峰彇杩炴帴鐨勬渶澶х瓑寰呮椂闂� - maxWait: 10000 - #瑙e喅mysql8灏忔椂鐨勯棶棰� - validation-query: SELECT 'X' - #绌洪棽杩炴帴鐨勬鏌ユ椂闂撮棿闅� - timeBetweenEvictionRunsMillis: 60000 - #绌洪棽杩炴帴鏈�灏忕┖闂叉椂闂� - minEvictableIdleTimeMillis: 300000 -# netty閰嶇疆 -netty: - udp: - port: 40000 - enabled: true - tcp: - enabled: true -# mqtt閰嶇疆 -mqtt: - host: tcp://192.168.2.15:1883 - clientId: client-2272 - username: admin - password: admin - timeout: 100 - keepalive: 60 - enabled: true -# 鐩楃數鎺ュ彛鍦板潃 -stealelec: - enabled: false - url: http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil - # 涓夊巶鏁板瓧鍖栧湴鍧� -# 涓夊満鏁板瓧鍖� -digitization3: - enabled: false -# minio閰嶇疆 -minio: - endpoint: http://192.168.2.15:9001 - accessKey: admin - secretKey: xzx12345 -# mybatis-plus閰嶇疆 -mybatis-plus: - type-aliases-package: com.ard.alarm.**.domain - mapper-locations: classpath:/mapper/*.xml -# 鏃ュ織绛夌骇閰嶇疆 -logging: - level: - hikSdk: info - mqtt: debug - netty: info - external: info - camera: info - tube: info - digitization3: info +# 寮�鍙戠幆澧� +server: + port: 8088 +# spring閰嶇疆 +spring: + servlet: + multipart: + enabled: true + max-file-size: 30MB + max-request-size: 30MB + datasource: + druid: + #寮�鍚痙ruid鐩戞帶web + stat-view-servlet: + enabled: true + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://192.168.1.14:5432/ry-vue?stringtype=unspecified + username: postgres + password: postgres + #鏈�澶ц繛鎺ユ暟 + maxActive: 30 + #鏈�灏忚繛鎺ユ暟 + minIdle: 5 + #鑾峰彇杩炴帴鐨勬渶澶х瓑寰呮椂闂� + maxWait: 10000 + #瑙e喅mysql8灏忔椂鐨勯棶棰� + validation-query: SELECT 'X' + #绌洪棽杩炴帴鐨勬鏌ユ椂闂撮棿闅� + timeBetweenEvictionRunsMillis: 60000 + #绌洪棽杩炴帴鏈�灏忕┖闂叉椂闂� + minEvictableIdleTimeMillis: 300000 +# netty閰嶇疆 +netty: + udp: + port: 40000 + enabled: true + tcp: + enabled: true +# minio閰嶇疆 +minio: + endpoint: http://127.0.0.1:9001 + accessKey: admin + secretKey: xzx12345 +# mqtt閰嶇疆 +mqtt: + host: tcp://192.168.1.14:1883 + clientId: alarm14 + username: admin + password: xzx12345 + topic: tube + timeout: 100 + keepalive: 60 + enabled: true +# 鐩楃數鎺ュ彛鍦板潃 +stealelec: + enabled: false + url: http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil + # 涓夊巶鏁板瓧鍖栧湴鍧� +# 涓夊満鏁板瓧鍖� +digitization3: + enabled: false + +# mybatis-plus閰嶇疆 +mybatis-plus: + type-aliases-package: com.ard.alarm.**.domain + mapper-locations: classpath:/mapper/*.xml +# 鏃ュ織绛夌骇閰嶇疆 +logging: + level: + hikSdk: info + mqtt: info + netty: info + external: info + camera: info + tube: info + digitization3: info stealAlarm: info \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index caf4dfc..422e915 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ -spring: - profiles: - active: dev \ No newline at end of file +spring: + profiles: + active: dev diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 3522a31..bd0e77a 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,185 +1,185 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - <!--鏃ュ織瀛樻斁璺緞--> - <property name="log.path" value="./logs"/> - <!-- 鏃ュ織杈撳嚭鏍煎紡 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> - <!--鎺у埗鍙拌緭鍑�--> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--绯荤粺鏃ュ織杈撳嚭--> - <appender name="sys-info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/sys-info.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <!--杩囨护鐨勭骇鍒�--> - <level>INFO</level> - <!--鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛�--> - <onMatch>ACCEPT</onMatch> - <!--涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛�--> - <onMismatch>DENY</onMismatch> - </filter> - </appender> - <!--绠$嚎娉勯湶鎶ヨ鏃ュ織杈撳嚭--> - <appender name="tube" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/tube.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/tube.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--閫氱敤鍏夌數鎶ヨ鏃ュ織杈撳嚭--> - <appender name="camera" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/camera.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/camera.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--澶栬仈璁惧鎶ヨ鏃ュ織杈撳嚭--> - <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/external.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/external.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--Netty鏃ュ織杈撳嚭--> - <appender name="netty" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/netty.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/netty.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--mqtt鏃ュ織杈撳嚭--> - <appender name="mqtt" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/mqtt.log</file> - <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> - <fileNamePattern>${log.path}/mqtt.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--hikSdk鏃ュ織杈撳嚭--> - <appender name="hikSdk" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/hikSdk.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鎸夊ぉ鍥炴粴daily--> - <fileNamePattern>${log.path}/hikSdk.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--stealAlarm鏃ュ織杈撳嚭--> - <appender name="stealAlarm" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/stealAlarm.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鎸夊ぉ鍥炴粴daily--> - <fileNamePattern>${log.path}/stealAlarm.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <!--digitization3鏃ュ織杈撳嚭--> - <appender name="digitization3" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/digitization3.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!--鎸夊ぉ鍥炴粴daily--> - <fileNamePattern>${log.path}/digitization3.%d{yyyy-MM-dd}.log</fileNamePattern> - <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> - <root level="DEBUG"> - <appender-ref ref="console"/> - </root> - <!--绯荤粺鎿嶄綔鏃ュ織--> - <root level="INFO"> - <appender-ref ref="sys-info"/> - </root> - - <!--tube鎿嶄綔鏃ュ織--> - <logger name="tube" level="INFO"> - <appender-ref ref="tube"/> - </logger> - <!--camera鎿嶄綔鏃ュ織--> - <logger name="camera" level="INFO"> - <appender-ref ref="camera"/> - </logger> - <!--external鎿嶄綔鏃ュ織--> - <logger name="external" level="INFO"> - <appender-ref ref="external"/> - </logger> - <!--netty鎿嶄綔鏃ュ織--> - <logger name="netty" level="INFO"> - <appender-ref ref="netty"/> - </logger> - <!--mqtt鎿嶄綔鏃ュ織--> - <logger name="mqtt" level="DEBUG"> - <appender-ref ref="mqtt"/> - </logger> - <!--hikSdk鎿嶄綔鏃ュ織--> - <logger name="hikSdk" level="INFO"> - <appender-ref ref="hikSdk"/> - </logger> - <!--digitization3鎿嶄綔鏃ュ織--> - <logger name="digitization3" level="INFO"> - <appender-ref ref="digitization3"/> - </logger> - <!--stealAlarm鎿嶄綔鏃ュ織--> - <logger name="stealAlarm" level="INFO"> - <appender-ref ref="stealAlarm"/> - </logger> -</configuration> - +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <!--鏃ュ織瀛樻斁璺緞--> + <property name="log.path" value="./logs"/> + <!-- 鏃ュ織杈撳嚭鏍煎紡 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> + <!--鎺у埗鍙拌緭鍑�--> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--绯荤粺鏃ュ織杈撳嚭--> + <appender name="sys-info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/sys-info.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!--杩囨护鐨勭骇鍒�--> + <level>INFO</level> + <!--鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛�--> + <onMatch>ACCEPT</onMatch> + <!--涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛�--> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + <!--绠$嚎娉勯湶鎶ヨ鏃ュ織杈撳嚭--> + <appender name="tube" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/tube.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/tube.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--閫氱敤鍏夌數鎶ヨ鏃ュ織杈撳嚭--> + <appender name="camera" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/camera.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/camera.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--澶栬仈璁惧鎶ヨ鏃ュ織杈撳嚭--> + <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/external.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/external.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--Netty鏃ュ織杈撳嚭--> + <appender name="netty" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/netty.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/netty.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--mqtt鏃ュ織杈撳嚭--> + <appender name="mqtt" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/mqtt.log</file> + <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�--> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鏃ュ織鏂囦欢鍚嶆牸寮�--> + <fileNamePattern>${log.path}/mqtt.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--hikSdk鏃ュ織杈撳嚭--> + <appender name="hikSdk" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/hikSdk.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鎸夊ぉ鍥炴粴daily--> + <fileNamePattern>${log.path}/hikSdk.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--stealAlarm鏃ュ織杈撳嚭--> + <appender name="stealAlarm" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/stealAlarm.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鎸夊ぉ鍥炴粴daily--> + <fileNamePattern>${log.path}/stealAlarm.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <!--digitization3鏃ュ織杈撳嚭--> + <appender name="digitization3" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/digitization3.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!--鎸夊ぉ鍥炴粴daily--> + <fileNamePattern>${log.path}/digitization3.%d{yyyy-MM-dd}.log</fileNamePattern> + <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�--> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + <root level="DEBUG"> + <appender-ref ref="console"/> + </root> + <!--绯荤粺鎿嶄綔鏃ュ織--> + <root level="INFO"> + <appender-ref ref="sys-info"/> + </root> + + <!--tube鎿嶄綔鏃ュ織--> + <logger name="tube" level="INFO"> + <appender-ref ref="tube"/> + </logger> + <!--camera鎿嶄綔鏃ュ織--> + <logger name="camera" level="INFO"> + <appender-ref ref="camera"/> + </logger> + <!--external鎿嶄綔鏃ュ織--> + <logger name="external" level="INFO"> + <appender-ref ref="external"/> + </logger> + <!--netty鎿嶄綔鏃ュ織--> + <logger name="netty" level="INFO"> + <appender-ref ref="netty"/> + </logger> + <!--mqtt鎿嶄綔鏃ュ織--> + <logger name="mqtt" level="DEBUG"> + <appender-ref ref="mqtt"/> + </logger> + <!--hikSdk鎿嶄綔鏃ュ織--> + <logger name="hikSdk" level="INFO"> + <appender-ref ref="hikSdk"/> + </logger> + <!--digitization3鎿嶄綔鏃ュ織--> + <logger name="digitization3" level="INFO"> + <appender-ref ref="digitization3"/> + </logger> + <!--stealAlarm鎿嶄綔鏃ュ織--> + <logger name="stealAlarm" level="INFO"> + <appender-ref ref="stealAlarm"/> + </logger> +</configuration> + -- Gitblit v1.9.3