Пул может быть полезен для совместного использования ограниченных ресурсов (например, соединений с базой данных) и повторного использования объектов, которые дорого создавать и / или уничтожать.В сочетании с EJB он может ограничить нагрузку на всю систему, что очень полезно при запуске сервера.Согласно принятому ответу на подобный вопрос , это также помогает с безопасностью потока.
Создание EJB может быть дорогим в создании (или настройке), когда вводятся различные ресурсы и другие EJB (с аннотациями), что, по моему опыту, является распространенным случаем.Однако, похоже, что, например, JBoss повторяет этот процесс даже для объединенных EJB-компонентов (см. Ответ Тома Андерсона в аналогичном вопросе ).
Если часто вводится общий EJB в пулев других EJB другим EJB придется ждать, пока общий EJB станет доступным, когда система действительно занята.Общий EJB-компонент в пуле действует как общий ограниченный ресурс.Недостатком является то, что вы можете получить исключения тайм-аута (например, через 50 секунд) в неожиданных местах, когда общий EJB-компонент недоступен (иногда это происходит из-за сбоя в инфраструктуре).
У меня есть некоторый опыт работы ссервер JBoss, на котором установлен механизм пула для EJB без сохранения состояния.На этом сервере JBoss есть общий EJB, который часто использует соединение с базой данных.Если в систему одновременно попадает огромное количество работы, нагрузка будет высокой, но ограничена механизмом объединения.Если механизм объединения слишком сильно ограничивает максимальную нагрузку, максимальную нагрузку можно увеличить, увеличив максимальный размер пула.