我想把一个中止标签或按钮below...the处理消息显示为ZK。或者有没有办法加载我的自定义组件,而不是默认的处理。ZK格式的消息。
如果在处理过程中中止是理想的,我想无论如何都要这样做,因为我的应用程序在加载时睡眠的次数很少
发布于 2012-12-30 16:59:14
ZK是基于Servlets构建的。当忙碌按钮显示在ui上等待ajax响应时,则表明servlet线程正在服务器上执行长时间运行的工作。也许可以发送另一个线程来中断第一个线程,但这确实有很高的风险,因为所有的servlet线程都可能结束长时间运行的工作,并且没有新的线程可以取消它们。
最好的解决方案是,长时间运行的工作不应该在servlet线程上,而应该交给后台线程或消息队列。参见zk-asynchronous-ui-updates-and-background-processing。在该示例中,工作被卸载到具有取消工作的java.util.concurrent.ExecutorService。
请注意,工作线程的取消使用中断,并且不能保证执行该工作的代码将正确地响应中断,使得它实际上是可取消的。thread上的答案概述了一些问题,您应该测试您正在进行的工作是否可以使用cancel with executor service中断。
https://stackoverflow.com/questions/9567685
复制相似问题