chsboy 2009-09-02 08: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 11:20
    关注

    如果真的这么变态的话,

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

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

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!