chsboy 2009-09-02 00:39
浏览 235
已采纳

ServletContextListener监听器在liunx下的工作异常?

我在web应用下写了一个监听器,这个监听器应在tomcat启动前执行,即tomcat打印出Server startup in xxxx ms前执行。监听器定时轮询启动一个任务,任务里派生多个线程去多个数据库读取数据,最后汇总数据得到结果,。有时数据库可能连接不通,因此有异常扑获代码,在window下该代码可以扑获异常,让这个监听器执行完毕。但在liunx下监听器没有扑获异常导致监听器没有执行完毕,导致程序出错,window和liunx的tomcat相同,唯一不同的时系统环境和tomcat启动的脚本一个.sh一个.bat
[b]问题补充:[/b]
to lovewhzlq:有啥解决办法吗
[b]问题补充:[/b]
to lovewhzlq:可能是我的线程模型有问题,我用timetask执行一个任务,在任务的run方法里调用一个方法,该方法派生多个线程,然后再run方法里获取结果
[b]问题补充:[/b]
to lovewhzlq:我搜了一下这个包好像很好用,不过这个包可以屏蔽window和liunx下系统线程调度的差异吗,每个run方法的异常如何扑获吗?
[b]问题补充:[/b]
to lovewhzlq:不知道ServletContextListener和这个concurrent包可以集成在一起用吗,我要研究一下
[b]问题补充:[/b]
to lovewhzlq:我的线程模型里每个线程执行时,要传入不同的参数,这个用java.util.concurrent那个接口比较好
[b]问题补充:[/b]
to lovewhzlq:我用了包还有这个问题
[b]问题补充:[/b]
to lovewhzlq:我把出问题的代码等到tomcat启动后在liunx下执行也是好用,意思即是用SelvletContextListener在linux下启动tomcat时有问题
[b]问题补充:[/b]
to 各位:有招吗,我没招了,在liunx下就挂住了,连接池初始化不了
[b]问题补充:[/b]
to lovewhzlq:可以在struts的action里启动定时器吗
[b]问题补充:[/b]
to lovewhzlq:我感觉关键还不是在调度,而是liunx下扑获数据库连接异常用时太长,导致僵死在那里

  • 写回答

8条回答 默认 最新

  • wanghaolovezlq 2009-09-10 03:20
    关注

    如果真的这么变态的话,

    你试着把这部分变态的地方抽取出来,是不是自己设置个超时时间,把它终止掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部