[英]How to implement asynchronous processing with J2EE application
我有一個企業應用程序,每天有大約2k並發用戶。 這些用戶處理客戶呼叫,因此應用程序速度至關重要。
當用戶結束通話時,他們會提交他們捕獲的所有信息。 此提交可能需要10-45秒。
我正在研究如何延遲遠離用戶。
我們有一個在IE中運行的Web前端,后端是在單個EJB上運行的重型Java。
我想讓這個提交過程異步,因為一旦用戶提交請求,他們就不必等待提交完成,然后再轉到下一個客戶。 這是目前實施的。
最初我在考慮生成另一個線程來處理提交,但這對於EJB來說是不行的。
我能想到的其他選擇是使用JMS或SIB,
最好的解決方案是什么? 我還缺少另一種選擇嗎?
對於這樣的案例,實際上有兩種選擇。
您選擇的內容取決於您的要求。 如果您需要在請求到達后立即提供服務,那么您需要使用JMS。 在這兩種情況下,您都需要在數據庫中保留請求的結果,並在其頂部設計Web服務。 前端可以使用它(通過輪詢)將結果呈現給用戶。
本來希望留下評論,但沒有能力。
另一種可能性
將重型EJB包裝在隊列機制中,並使用相同的API公開不同的bean,以便面向客戶端的通信與新bean通信並且快速。 他們接受請求,將作業添加到隊列並立即返回客戶端。 您不需要更改繁重的EJB或客戶端通信,只需將調解器放在路上,然后添加一層包裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.