2015-03-11 3 views
0

Серверы приложений Java EE, такие как JBoss, имеют как контейнер EJB, так и контейнер сервлетов/веб-сайтов (при условии, что мое приложение имеет как сервлеты, так и EJB).Количество экземпляров JVM на сервере Java EE

Всякий раз, когда мы говорим о сервере приложений, мы всегда используем контейнеры для логической идентификации компонента. У меня есть это сомнение:

Есть ли какие-либо экземпляры JVM? Контейнер EJB и контейнер Servlet имеют один и тот же экземпляр JVM или у них есть свои собственные?

ответ

2

Да, контейнеры EJB и Servlet имеют один и тот же экземпляр JVM, но работают в разных потоках.

+0

Больше интереса состоит в том, что каждый блок развертывания выполняет в своем собственном загрузчике классов –

+1

В общем случае ответ будет «да». Но в реальном мире существует множество вариантов. Например, weblogic использует несколько загрузчиков классов при развертывании одного устройства [link] (http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG288). Вы можете (или не можете) настроить предпочтения процедуры загрузки классов. Но если у вас сложное приложение, загрузка классов будет головной болью для вас. –

Смежные вопросы