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条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?