2013-03-07 25 views
1

我有很難使用Google這樣的應用程序服務器的JVM,所以我希望有人能給我一些輕。如果我的問題關閉了,請把我放在正確的方向。的Java EE - 與許多Web應用程序

我有兩個Web應用程序。它們託管在一個Tomcat服務器實例中。每個都可以使用相同的端口進行訪問。

服務器的JVM是怎麼樣子的呢?服務器是否包含兩個不同的JVM實例,每個Web應用程序一個。先謝謝你。

回答

1

如果他們託管在一個Tomcat實例,然後他們會在同一個JVM上運行。

+0

這是否意味着訪問一個Tomcat實例相同的Web應用程序也將共享一個JVM的是,兩個客戶端? – Bnrdo 2013-03-07 08:12:12

+0

代碼將運行在相同的JVM中,是的,但顯然如果他們通過Java系統訪問,則調用系統不一定共享JVM。 – 2013-03-07 08:17:22

+0

假設點擊一個jsp中的按鈕向服務器發送一個請求,服務器將它引導到servlet,servlet創建一個數據列表。此列表將駐留在哪個JVM中? – Bnrdo 2013-03-07 08:26:29

2

AppServer在一個JVM上運行。它針對多個應用程序進行了優化,並以線程方式完成。請注意,我不考慮在這個答案集羣。

應用程序服務器需要一個請求時,它會檢查它的農場,看看Web應用程序存在,如果它存在,檢查它的web.xml檢查的請求的servlet的路徑存在。如果一切順利,AppServer會產生一個新線程(或使用線程池中現有的線程池(可在AppServer級別配置))並分配線程以處理servlet,從而迎合用戶。

相關問題