Spring操纵常驻内存的实现[Java编程]
本文“Spring操纵常驻内存的实现[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一个后台利用程序,利用了Spring+iBatis框架.
有这样的需求,要求程序启动后,要一向驻留内存,而不能因为呈现数据库衔接失效、“闪耀”、大概网线断了而挂起,因为没有人值守程序,并且当网络弊端、数据库弊端、配置参数等弊端解除后,程序能按照修复的新状况持续履行.
实现方法:从前利用Linux操作系统的shell脚本按时检测,但是俺不会写shell脚本.
于是有了下面的实现方法:
public static void main(String[] args) {
while (true) {
try {
ctx = ApplicationContextUtil.getApplicationContext();
IssuePlan issuePlan = (IssuePlan) ctx.getBean("issuePlan");
issuePlan.execute();
} catch (Throwable e) {
log.error("网络视频节目分发程序启动发生了严重错误!", e);
try {
Thread.sleep(pause_timespan * 1000L);
} catch (InterruptedException e1) {
}
}
}
}
这种方法运行杰出,每次因为严重错误城市重新初始化Spring的ApplicationContext.这样,整个程序的运行就是:一向履行任务,有任务就履行,没任务歇息一段时间,有错误等候一段时间重试,没错误持续.
issuePlan.execute(); 是核心的后台任务履行者,这个办法在正常情形下是不会退出的,写法是while(true)逻辑,只有当发生一些严重错曲解招致此办法发生非常退出.
欢送大家多提提看法@!
出处:http://lavasoft.blog.51cto.com/62575/204228
以上是“Spring操纵常驻内存的实现[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |