![](/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.