我有状态的石英作业,由JBoss调度程序安排。 他们每隔20-30秒开火一次。 其中4个是jax-ws客户端。 1是轴2客户端,2是http客户端。
仅在jax-ws客户端出现问题。 经过一段时间后,当客户端尝试初始化soap服务时,它们会在执行过程中堆叠:
soap = new MyService(new URL(targetEndpoint), new QName(
"http://www.catmancer.com/Service", "myservice"))
.getMyServiceSoap();
并且它们不再启动,直到服务器重启。即使石英作业超时也不会抛出异常。日志中没有例外。
提前感谢
答案 0 :(得分:0)
好吧,如果连接卡住(网络故障,防火墙......)并挂起,Quartz作业永远不会结束。它不断占用Quartz工作线程。我不认为Quartz内置了任何超时 - 只要它想要就可以运行。
由于你的工作是有状态的,Quartz不会在旧的完成之前启动新的触发器(这是有状态工作的定义)。
您可以做的最好的事情是在SOAP调用中应用一些超时。它应该非常简单。