我们的产品建立在 Java 堆栈上,它基本上是一个事务系统。我只是想知道我们是否有任何机制可以在程序进入无限循环时发送通知?或者我们可以杀死java进程本身?还是更好的东西?
问问题
71 次
2 回答
0
如果您使用 JTA 事务,您可以在应用程序服务器上为这些事务设置超时。如果事务花费很长时间(例如由于无限循环,但如果事务花费的时间太长,则会引发异常。您设置的阈值越高,捕获任何不正确的风险就越低一个无限循环。)然后我想你可以使用面向方面的编程(AOP)来包装这个异常并创建一个通知。
于 2013-04-06T12:09:26.930 回答
0
一般来说,这是无法解决的问题,请参见停机问题。当然,您可以设置一些超时或设置一些“命令计数器”,但是,horizon 有一个新问题(如果程序在timeout + 1
几秒钟后停止怎么办?)
于 2013-04-06T12:24:49.050 回答