0
首先,我有一個JSF應用程序,它可以從數據庫中進行某種搜索,但另一方面,我也一直在偵聽端口,我啓動一個線程在我的應用程序中偵聽該端口豆。從端口監聽這些搜索的傳入請求,並從此端口發送響應。 情況是我的響應時間意外地發生了變化,我從端口發送/接收,但是從我的網頁中我的表現保持穩定,儘管它們使用相同的對象。從應用程序服務器中偵聽端口
我的問題是,我的Web服務器可以阻止我的Web應用程序獨立運行的進程嗎?
首先,我有一個JSF應用程序,它可以從數據庫中進行某種搜索,但另一方面,我也一直在偵聽端口,我啓動一個線程在我的應用程序中偵聽該端口豆。從端口監聽這些搜索的傳入請求,並從此端口發送響應。 情況是我的響應時間意外地發生了變化,我從端口發送/接收,但是從我的網頁中我的表現保持穩定,儘管它們使用相同的對象。從應用程序服務器中偵聽端口
我的問題是,我的Web服務器可以阻止我的Web應用程序獨立運行的進程嗎?
Web容器可能會有一個線程池,並且應用程序服務器可能也有它自己的後臺線程,所以你的線程正在爭奪這些線程的資源(不僅僅是CPU),因此在該級別干擾是可能的。實際的線程調度將由JVM完成,這可能取決於設置的任何優先級。 Java EE應用程序服務器不鼓勵您啓動自己的工作線程,有些提供了架構方式,我希望這樣做。
當然,Web應用程序線程和使用相同業務對象的線程也可能會競爭,但至少您應該是一個平等的公民。
您的手工構建的偵聽器是否試圖在與Web服務器相同的端口上偵聽? – 2009-11-13 20:11:55
不,它不。它監聽不同的端口。 – mbenturk 2009-11-13 20:22:34
附加港口是否可以協商?也許您現有應用程序服務中的其他服務可能是另一種選擇? – leonm 2009-11-13 22:50:34