2012-10-19 28 views
1

我在JSF應用程序的後臺bean中設置了一個JavaMail會話,事實證明,發送電子郵件相當容易。但是,根據網絡條件,可能需要相當長的時間。方法將阻止調用線程,直到電子郵件被髮送或協議以某種方式失敗。從GlassFish中的webapp使用JavaMail

我的問題是:考慮到許多用戶同時訪問服務器的可能性,這是否可以在JSF支持bean中執行?

我可以創建一個應用程序範圍的工作線程,該線程可以使用BlockingQueue處理後臺中的所有電子郵件。這是正確的事情嗎?

回答

1

是的,最好將使用網絡的任何東西(因此可能會延遲到不可預知的時間)移動到一個單獨的線程中。

+0

這就是我需要知道。網絡上的例子沒有提到這方面的問題,所以我不知道爲它的ServeLets提供的GlassFish架構(在我的情況下是JSF 2 Facelets)是否被這種方式阻塞。 – AlanObject