采用Scheduled Thread Pool Executor执行定时重试任务时内存溢出的分析及解决  被引量:1

在线阅读下载全文

作  者:余志坚[1] 姜春志 

机构地区:[1]武汉理工大学机电工程学院,湖北武汉430070 [2]东华软件股份公司,北京100000

出  处:《科技资讯》2016年第7期15-17,共3页Science & Technology Information

摘  要:开发Java Web项目中发现服务之间的调用存在超时情况,由于涉及的处理逻辑全部是异步,引入定时重试的机制,重试工具选择了JDK自带的Scheduled Thread Pool Executor。当A服务依赖B服务,B服务由于在业务高峰期处理能力降低,导致大量A服务过来的请求超时,A加入了超时重试机制,间隔时间根据重试次数的多少来决定,次数越多,两次重试之间间隔的时间越多,此时的业务高峰也会给A带来大量请求,大量的超时会导致重试队列迅速堆积,直到内存溢出。该文从线程池工作机制、Scheduled Thread Pool Executor实例的创建,获取重试任务的过程以及提交任务的过程角度分析,并通过源代码的剖析和测试工具My Eclipse进行演示测试内存泄露的情况,得出避免内存泄露的解决方案。

关 键 词:Scheduled THREAD POOL EXECUTOR 线程池 内存溢出 

分 类 号:TP3[自动化与计算机技术—计算机科学与技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象