![](/img/trans.png)
[英]Using Timer in a stateless EJB method to time out long-running operation
[英]Executing long-running task from Tapestry using already existing EJB service
我有以下情况。
我的网站是用Tapestry编写的。 在其中一页上,我需要生成一个相当大的Excel或PDF文档(大约20 MB)。 现在,由于整个过程需要时间,因此我要求用户稍等一下。
但是,当我尝试测试上限时,我注意到我的整个应用程序(不仅仅是Web部件)都冻结了,因为这一代人耗尽了所有资源,并且网站和应用程序的其余部分均无响应。
到目前为止,这是我一直在做的流程。
InputStream
一直传递到Tapestry,由Tapestry将其包装在StreamResponse
并提供下载 什么是处理此问题的合适方法?
我可以像这样从我的某些Tapestry服务中使用Tapestry的ParallelExecutor
吗?
Future<InputStream> future = executor.invoke(new Invokable<InputStream>() { ... });
我的主要目的是使应用程序和网站保持运行,并且不会冻结。
先感谢您。
看一看挂毯缝上的progresslink演示 。 它可能会给您一些启发,以轮询挂毯中的长期运行/异步任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.