liurunyu
2024-10-08 4f4b91f48094448f8e8e232cf3196feeccbd27cc
配置文件在不同项目下的备份附本
4个文件已添加
2个文件已修改
606 ■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database(test测试).yml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database(ym元谋).yml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ym元谋).xml 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml 279 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database(test²âÊÔ).yml
New file
@@ -0,0 +1,17 @@
# æ•°æ®æºé…ç½®
spring:
    datasource: #配置数据源
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/pipIrr_test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
        username: root
        password: dysql,;.abc!@#
        druid:
            #数据源名称:当存在多个数据源时,设置名字可以很方便的来进行区分,默认自动生成名称,格式是:"DataSource-" + System.identityHashCode(this)
            #name: name: druid-mysql-mw-rtu å•数据源不起作用,所以注释掉
            #配置初始化大小、最小、最大
            initialSize: 10
            minIdle: 10
            maxActive: 200
            # èŽ·å–è¿žæŽ¥æ—¶æœ€å¤§ç­‰å¾…æ—¶é—´,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁
            maxWait: 60000
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database(ymԪı).yml
New file
@@ -0,0 +1,17 @@
# æ•°æ®æºé…ç½®
spring:
    datasource: #配置数据源
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
        username: root
        password: dysql,;.abc!@#
        druid:
            #数据源名称:当存在多个数据源时,设置名字可以很方便的来进行区分,默认自动生成名称,格式是:"DataSource-" + System.identityHashCode(this)
            #name: name: druid-mysql-mw-rtu å•数据源不起作用,所以注释掉
            #配置初始化大小、最小、最大
            initialSize: 10
            minIdle: 10
            maxActive: 200
            # èŽ·å–è¿žæŽ¥æ—¶æœ€å¤§ç­‰å¾…æ—¶é—´,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁
            maxWait: 60000
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
@@ -4,7 +4,6 @@
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
#        url: jdbc:mysql://8.130.130.233:3306/pipIrr_test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
        username: root
        password: dysql,;.abc!@#
        druid:
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test²âÊÔ).xml
New file
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
    <!--
    åŸºæœ¬é…ç½®
    orgTag æœºæž„tag(对应机构tag,和数据源后缀)
    isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
    onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
    onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                     å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                     å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
    disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
    workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
    sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
     -->
    <base
        orgTag="test"
        isLowPower="false"
        onlyDealRtus=""
        onlyOneProtocol="false"
        downComandMaxResendTimes="1"
        commandSendInterval="2"
        cachWaitResultTimeout="120"
        offLineCachTimeout="86400"
        lastUpDataTimeLive="500"
        dbDataIdSuffix="0"
        cacheUpDownDataWarnCount="100000"
        cacheUpDownDataMaxCount="110000"
        disconnectedByNoUpDataMinutes="3"
        workReportDealOneByTimes="5"
        sendDingDingAlarmMsInterval="60"
    />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
    synchroRtuClock: æ˜¯å¦å¯¹RTU校时
    synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
     -->
    <protocol
        centerAddr="1"
        synchroRtuClock="true"
        synchroRtuClockTimepieces="300000"
    />
    <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
    è½¯ä»¶å‡çº§ -->
    <updateRtuSoft enable="true">
        <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
            <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
        </soft1>
        <!--
        <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
            <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
        </soft2>
         -->
    </updateRtuSoft>
    <!--
    æ”¯æŒæ¨¡å—
    çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
    short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
    short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
    short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
    é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
    long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
    long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
    long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
    enableThreadPool:是否启用线程池
     -->
    <support
        short_maxThread="6"
        short_minThread="6"
        short_freeTimeout="60"
        short_busyTimeout="5"
        long_maxThread="6"
        long_minThread="6"
        long_freeTimeout="60"
        long_busyTimeout="-1"
        enableThreadPool="true"
    />
    <!--
    èµ„源模块
    rtuLogDir:RTU日志文件存储目录(相对目录)
    rtuLogFileMaxSize:RTU日志文件最大字节数(KB)
    rtuLogFileMaxCount:RTU日志文件最大文件数
    monitorInterval:Rtu状态监视间隔(分钟)
    saveDbInterval:Rtu状态存数据库间隔(分钟)
     -->
    <resource
        rtuLogDir="rtuLogs/"
        rtuLogFileMaxSize="1000"
        rtuLogFileMaxCount="2"
        monitorInterval="2"
        saveDbInterval="10"
    />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    port:rmi服务端口号
    context:rmi服务上下文
     -->
    <rmi enable="true"
         port="65400"
         context="rtuMw"
    />
    <!--
    sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
    sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
    queueWarnSize: ç¼“存队列节点数警告数量
    queueMaxSize: ç¼“存队列节点数最大数量
     -->
    <core
        sleepBigBusy="100"
        sleepSmallBusy="500"
        queueWarnSize="100000"
        queueMaxSize="300000"
    />
    <!--
    port:端口
    processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
    idle: å‘呆时长(秒)
     -->
    <tcp enable="true"
         port="65000"
         processors="3"
         idle="10"
    />
</config>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ymԪı).xml
New file
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
        <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
        <!--
        åŸºæœ¬é…ç½®
        orgTag æœºæž„tag(对应机构tag,和数据源后缀)
        isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
        onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
        onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                         å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                         å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
        onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
        downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
        commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
        cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
        offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
        lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
        dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
        cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
        cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
        disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
        workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
        sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
         -->
        <base
            orgTag="ym"
            isLowPower="false"
            onlyDealRtus=""
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="2"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
            cacheUpDownDataMaxCount="110000"
            disconnectedByNoUpDataMinutes="3"
            workReportDealOneByTimes="5"
            sendDingDingAlarmMsInterval="60"
        />
        <!--
        2024-08-22 æ­¤é…ç½®æš‚时未应用
        centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
        synchroRtuClock: æ˜¯å¦å¯¹RTU校时
        synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
         -->
        <protocol
            centerAddr="1"
            synchroRtuClock="true"
            synchroRtuClockTimepieces="300000"
        />
        <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
         è½¯ä»¶å‡çº§ -->
        <updateRtuSoft enable="true">
            <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
                <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
            </soft1>
            <!--
            <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
                <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
            </soft2>
             -->
        </updateRtuSoft>
        <!--
        æ”¯æŒæ¨¡å—
        çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
        short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
        short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
        short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
        é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
        long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
        long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
        long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
        enableThreadPool:是否启用线程池
         -->
        <support
            short_maxThread="6"
            short_minThread="6"
            short_freeTimeout="60"
            short_busyTimeout="5"
            long_maxThread="6"
            long_minThread="6"
            long_freeTimeout="60"
            long_busyTimeout="-1"
            enableThreadPool="true"
        />
        <!--
        èµ„源模块
        rtuLogDir:RTU日志文件存储目录(相对目录)
        rtuLogFileMaxSize:RTU日志文件最大字节数(B)
        rtuLogFileMaxCount:RTU日志文件最大文件数
        monitorInterval:Rtu状态监视间隔(分钟)
        saveDbInterval:Rtu状态存数据库间隔(分钟)
         -->
        <resource
            rtuLogDir="rtuLogs/"
            rtuLogFileMaxSize="100000"
            rtuLogFileMaxCount="2"
            monitorInterval="2"
            saveDbInterval="10"
        />
        <!--
        2024-08-22 æ­¤é…ç½®æš‚时未应用
        port:rmi服务端口号
        context:rmi服务上下文
         -->
        <rmi enable="true"
            port="65400"
            context="rtuMw"
        />
        <!--
        sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
        sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
        queueWarnSize: ç¼“存队列节点数警告数量
        queueMaxSize: ç¼“存队列节点数最大数量
         -->
        <core
            sleepBigBusy="100"
            sleepSmallBusy="500"
            queueWarnSize="100000"
            queueMaxSize="300000"
        />
        <!--
        port:端口
        processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
        idle: å‘呆时长(秒)
         -->
        <tcp enable="true"
            port="60000"
            processors="3"
            idle="10"
        />
</config>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -1,145 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
        <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
        <!--
        åŸºæœ¬é…ç½®
        orgTag æœºæž„tag(对应机构tag,和数据源后缀)
        isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
        onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
        onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                         å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                         å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
        onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
        downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
        commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
        cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
        offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
        lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
        dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
        cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
        cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
        disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
        workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
        sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
         -->
        <base
            orgTag="ym"
            isLowPower="false"
            onlyDealRtus=""
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="2"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
            cacheUpDownDataMaxCount="110000"
            disconnectedByNoUpDataMinutes="3"
            workReportDealOneByTimes="5"
            sendDingDingAlarmMsInterval="60"
        />
        <!--
        2024-08-22 æš‚时不用
        centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
        synchroRtuClock: æ˜¯å¦å¯¹RTU校时
        synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
         -->
        <protocol
            centerAddr="1"
            synchroRtuClock="true"
            synchroRtuClockTimepieces="300000"
        />
    <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
    <!--
    åŸºæœ¬é…ç½®
    orgTag æœºæž„tag(对应机构tag,和数据源后缀)
    isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
    onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
    onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                     å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                     å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
    disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
    workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
    sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
     -->
    <base
        orgTag="ym"
        isLowPower="false"
        onlyDealRtus=""
        onlyOneProtocol="false"
        downComandMaxResendTimes="1"
        commandSendInterval="2"
        cachWaitResultTimeout="120"
        offLineCachTimeout="86400"
        lastUpDataTimeLive="500"
        dbDataIdSuffix="0"
        cacheUpDownDataWarnCount="100000"
        cacheUpDownDataMaxCount="110000"
        disconnectedByNoUpDataMinutes="3"
        workReportDealOneByTimes="5"
        sendDingDingAlarmMsInterval="60"
    />
        <!-- è½¯ä»¶å‡çº§ -->
        <updateRtuSoft enable="true">
            <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
                <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
            </soft1>
            <!--
            <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
                <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
            </soft2>
             -->
        </updateRtuSoft>
        <!--
        æ”¯æŒæ¨¡å—
        çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
        short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
        short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
        short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
        é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
        long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
        long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
        long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
        enableThreadPool:是否启用线程池
         -->
        <support
            short_maxThread="6"
            short_minThread="6"
            short_freeTimeout="60"
            short_busyTimeout="5"
            long_maxThread="6"
            long_minThread="6"
            long_freeTimeout="60"
            long_busyTimeout="-1"
            enableThreadPool="true"
        />
        <!--
        èµ„源模块
        rtuLogDir:RTU日志文件存储目录(相对目录)
        rtuLogFileMaxSize:RTU日志文件最大字节数(B)
        rtuLogFileMaxCount:RTU日志文件最大文件数
        monitorInterval:Rtu状态监视间隔(分钟)
        saveDbInterval:Rtu状态存数据库间隔(分钟)
         -->
        <resource
            rtuLogDir="rtuLogs/"
            rtuLogFileMaxSize="100000"
            rtuLogFileMaxCount="2"
            monitorInterval="2"
            saveDbInterval="10"
        />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
    synchroRtuClock: æ˜¯å¦å¯¹RTU校时
    synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
     -->
    <protocol
        centerAddr="1"
        synchroRtuClock="true"
        synchroRtuClockTimepieces="300000"
    />
    <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
     è½¯ä»¶å‡çº§ -->
    <updateRtuSoft enable="true">
        <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
            <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
        </soft1>
        <!--
        2024-08-22 æš‚时不用
        port:rmi服务端口号
        context:rmi服务上下文
         -->
        <rmi enable="true"
            port="65400"
            context="rtuMw"
        />
        <!--
        sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
        sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
        queueWarnSize: ç¼“存队列节点数警告数量
        queueMaxSize: ç¼“存队列节点数最大数量
         -->
        <core
            sleepBigBusy="100"
            sleepSmallBusy="500"
            queueWarnSize="100000"
            queueMaxSize="300000"
        />
        <!--
        port:端口
        processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
        idle: å‘呆时长(秒)
         -->
        <tcp enable="true"
            port="60000"
            processors="3"
            idle="10"
        />
        <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
            <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
        </soft2>
         -->
    </updateRtuSoft>
    <!--
    æ”¯æŒæ¨¡å—
    çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
    short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
    short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
    short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
    é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
    long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
    long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
    long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
    enableThreadPool:是否启用线程池
     -->
    <support
        short_maxThread="6"
        short_minThread="6"
        short_freeTimeout="60"
        short_busyTimeout="5"
        long_maxThread="6"
        long_minThread="6"
        long_freeTimeout="60"
        long_busyTimeout="-1"
        enableThreadPool="true"
    />
    <!--
    èµ„源模块
    rtuLogDir:RTU日志文件存储目录(相对目录)
    rtuLogFileMaxSize:RTU日志文件最大字节数(B)
    rtuLogFileMaxCount:RTU日志文件最大文件数
    monitorInterval:Rtu状态监视间隔(分钟)
    saveDbInterval:Rtu状态存数据库间隔(分钟)
     -->
    <resource
        rtuLogDir="rtuLogs/"
        rtuLogFileMaxSize="100000"
        rtuLogFileMaxCount="2"
        monitorInterval="2"
        saveDbInterval="10"
    />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    port:rmi服务端口号
    context:rmi服务上下文
     -->
    <rmi enable="true"
         port="65400"
         context="rtuMw"
    />
    <!--
    sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
    sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
    queueWarnSize: ç¼“存队列节点数警告数量
    queueMaxSize: ç¼“存队列节点数最大数量
     -->
    <core
        sleepBigBusy="100"
        sleepSmallBusy="500"
        queueWarnSize="100000"
        queueMaxSize="300000"
    />
    <!--
    port:端口
    processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
    idle: å‘呆时长(秒)
     -->
    <tcp enable="true"
         port="60000"
         processors="3"
         idle="10"
    />
</config>