1
我一直在尋找這種信息的一段時間,但我找不到明確的答案。應用程序服務器如何運行多個應用程序?
應用程序服務器使用什麼確切機制來執行多個(網絡)應用程序隔離? 例如他們如何管理靜態字段隔離?
我可以想像幾種解決方案:
- isolation API;
- bootstrapping;
- 類加載器的技巧(使用線程上下文類加載器);
- 運行幾個jvm實例。
但是他們在現實中使用了什麼?
我一直在尋找這種信息的一段時間,但我找不到明確的答案。應用程序服務器如何運行多個應用程序?
應用程序服務器使用什麼確切機制來執行多個(網絡)應用程序隔離? 例如他們如何管理靜態字段隔離?
我可以想像幾種解決方案:
但是他們在現實中使用了什麼?
要分離應用程序,應用程序服務器確實使用單獨的ClassLoaders來區分類(及其靜態字段)。
例如,JBoss自從v4起使用Unified Class Loader(UCL)。
他們都使用相同的方法嗎?那麼WebSphere或Glassfish呢? –
或多或少,它們中的許多似乎都是從內部遷移到OSGi,這也是基於不同的ClassLoaders。我沒有意識到使用單獨的JVM(除了雲解決方案?)或「隔離API」 - 無論這可能是什麼。 – mhaller
非常感謝。 –