Концепция объединения в Java или EJB? - PullRequest
2 голосов
/ 02 июля 2011

У нас есть концепция объединения в EJB без сохранения состояния. В чем преимущество использования Объединив? Насколько я понимаю, это сэкономит время при создании объекта. Это правильно? Если да, есть ли значительная разница в производительности при создании объект или получение его из существующего пула? Служит ли пул какой-либо другой целью чем это?

1 Ответ

0 голосов
/ 08 декабря 2013

Пул может быть полезен для совместного использования ограниченных ресурсов (например, соединений с базой данных) и повторного использования объектов, которые дорого создавать и / или уничтожать.В сочетании с EJB он может ограничить нагрузку на всю систему, что очень полезно при запуске сервера.Согласно принятому ответу на подобный вопрос , это также помогает с безопасностью потока.

Создание EJB может быть дорогим в создании (или настройке), когда вводятся различные ресурсы и другие EJB (с аннотациями), что, по моему опыту, является распространенным случаем.Однако, похоже, что, например, JBoss повторяет этот процесс даже для объединенных EJB-компонентов (см. Ответ Тома Андерсона в аналогичном вопросе ).

Если часто вводится общий EJB в пулев других EJB другим EJB придется ждать, пока общий EJB станет доступным, когда система действительно занята.Общий EJB-компонент в пуле действует как общий ограниченный ресурс.Недостатком является то, что вы можете получить исключения тайм-аута (например, через 50 секунд) в неожиданных местах, когда общий EJB-компонент недоступен (иногда это происходит из-за сбоя в инфраструктуре).

У меня есть некоторый опыт работы ссервер JBoss, на котором установлен механизм пула для EJB без сохранения состояния.На этом сервере JBoss есть общий EJB, который часто использует соединение с базой данных.Если в систему одновременно попадает огромное количество работы, нагрузка будет высокой, но ограничена механизмом объединения.Если механизм объединения слишком сильно ограничивает максимальную нагрузку, максимальную нагрузку можно увеличить, увеличив максимальный размер пула.

...