簡體   English   中英

Java Web應用程序中的並發

[英]Concurrency in Java Web Application

我創建了一個Java Web應用程序,要求用戶上傳ARF文件,將其轉換為MP4並將其保存在服務器上,然后向用戶發送一封包含新MP4文件鏈接的電子郵件。 通過從命令行調用VB腳本進行轉換。 該腳本將位於所需目錄中的所有ARF文件轉換為MP4格式。

該應用程序運行良好,但我注意到了一件事。 當一個人(使用一台計算機)運行該應用程序並說文件正在轉換過程中(即用戶正在等待電子郵件)時,它不起作用。 在此階段,如果另一個用戶(使用另一台計算機)嘗試同時運行該應用程序,則轉換過程將被中斷,並且它將停止先前的轉換。

我嘗試通過運行VB腳本,等待視頻轉換然后再次運行來測試VB腳本。 我注意到了同樣的事情。

想知道是否有一種方法可以使我的應用程序並發,以便它可以獨立運行,即可以有多個人同時運行它。

謝謝

這里的限制是VB腳本的限制。 您是否可以(例如)為每個文件生成不同的文件名,使其並行工作?

如果不是,那么您將必須使請求排隊,然后有一些代碼一次處理隊列中的下一個請求。

聽起來,調用VB腳本的代碼是瓶頸。 我認為文件轉換過程將花費一些時間,因此您需要在后台線程中啟動處理並終止Java會話。 我想到的第一件事是Quartz工作框架。 您可以觸發一個進行處理和發送電子郵件的Quartz作業,並且每個Quartz作業都在自己的線程上運行。 http://quartz-scheduler.org/documentation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM