1、监测数据缓存队列 增加容量限制,防止内存溢出

This commit is contained in:
fangshunjian
2019-04-02 14:40:07 +08:00
parent bd3ab7b608
commit a7e60e54a5
2 changed files with 15 additions and 2 deletions

View File

@@ -505,7 +505,10 @@ public class Common {
if(Constants.DEBUG_COMMON_ADDDETEDATA) { if(Constants.DEBUG_COMMON_ADDDETEDATA) {
logger.debug(new String(dsb)); logger.debug(new String(dsb));
} }
DETE_DATA_QUEUE.add(dsb); boolean add = DETE_DATA_QUEUE.add(dsb);
if(!add) {
logger.warn("监测数据添加失败");
}
} }
//无监测数据列表增加删除的同步操作 //无监测数据列表增加删除的同步操作
@@ -2867,8 +2870,9 @@ public class Common {
/** /**
* 2018年7月30日 修改监测数据存放位置,改为保存到队列 中 * 2018年7月30日 修改监测数据存放位置,改为保存到队列 中
* 2019年4月2日14:30:19 初始化默认大小 20000
*/ */
private static final LinkedBlockingDeque<byte[]> DETE_DATA_QUEUE = new LinkedBlockingDeque<byte[]>(); private static final LinkedBlockingDeque<byte[]> DETE_DATA_QUEUE = new LinkedBlockingDeque<byte[]>(Constants.DETE_DATA_QUEUE_CAPACITY);
/** /**
* 保存监测数据到缓存队列 * 保存监测数据到缓存队列

View File

@@ -498,6 +498,11 @@ public class Constants {
*/ */
public static final boolean PORT_ZERO_WARNING_FLAG; public static final boolean PORT_ZERO_WARNING_FLAG;
/**
* 监测数据队列最大容量防止nc长时间连接不上儿造成的dc短时间接收大量监测数据
*/
public static final Integer DETE_DATA_QUEUE_CAPACITY;
static { static {
// InetAddress inetAddress = null; // InetAddress inetAddress = null;
@@ -884,6 +889,10 @@ public class Constants {
// 端口流量为 0 告警 功能 // 端口流量为 0 告警 功能
PORT_ZERO_WARNING_FLAG = Config.getBoolan("port.zero.warning.flag", false); PORT_ZERO_WARNING_FLAG = Config.getBoolan("port.zero.warning.flag", false);
//监测数据缓存队列容量
DETE_DATA_QUEUE_CAPACITY = Config.getInteger("dete.data.queue.capacity", 20000);
} }
//文件传输 临时文件命名后缀 //文件传输 临时文件命名后缀