У всех разные требования и варианты использования. Для вашего варианта использования встроенное использование, видимо, кажется идеальным. Это не так для каждой ситуации.
Запуск встроенного Tomcat подобен выворачиванию «контейнера сервлетов» наизнанку, и вместо контейнера (Tomcat), в котором размещается приложение, вместо приложения размещается контейнер. Это инверсия контроля , если вам нравится такая метафора.
Использование встроенного Tomcat требует, чтобы приложение писало с использованием специфичных для Tomcat API. Это может или не может увеличить сложность для вас или вашего приложения.
Сервисные программы, такие как Tomcat, обычно имеют системы, которые отслеживают их, чтобы убедиться, что они продолжают работать, и автоматически перезапускаются, если они не продолжают работать. Если вы переключитесь на встроенную стратегию, у вас будет меньше возможностей использовать существующие инструменты: вместо этого ваше приложение должно отслеживать состояние встроенного контейнера и при необходимости предпринимать действия.
Управление ресурсами может быть проблематичным при использовании встроенного контейнера. Если у вас есть дюжина веб-приложений, которые должны работать вместе, имеет ли смысл иметь один экземпляр контейнера, на котором размещены эти отдельные приложения, или вам следует объединить их в одну программу со встроенным экземпляром контейнера внутри? Что если вы хотите обновить только одно приложение? Вам нужно будет перестроить весь пакет только для обновления одного компонента. Или вы должны развернуть их каждое как отдельное приложение со своим собственным встроенным контейнером? Обычно это означает наличие нескольких JVM, что означает более высокие требования к памяти, конфликты портов и другие подобные проблемы, связанные с ресурсами.
Существует множество допустимых вариантов использования как для встроенных, так и для не встроенных Tomcat. К счастью, у вас есть выбор.
Где находится документ и сайт Tomcat? Я с нетерпением ждал возможности вставить документ и сайт Tomcat, но не смог его найти.
Это в основном в Tomcat Javadoc .
Есть ли разница между встроенным Tomcat и не встроенным Tomcat в исходном коде?
Это тот же продукт.