Возможно, вы захотите поэкспериментировать с JBoss и посмотреть, как он может сочетаться с тем, что вы хотите, однако, если вы хотите остаться с Tomcat, вы можете взглянуть на Spring Framework и посмотреть, будут ли в нем нужные функции , так как это способ иметь Java EE без контейнера Java EE.
Это зависит от того, хотите ли вы поэкспериментировать с некоторыми идеями и посмотреть, что сработает для вас, или просто сделать что-то, и придерживаться этого независимо.
Я склонен экспериментировать, пока не почувствую себя комфортно, потому что знаю достаточно, чтобы принять лучшее решение.
Лично я бы пошел с Tomcat и Spring, но я использовал Spring раньше.
Было бы полезно, если бы вы могли привести пример использования некоторых из упомянутых вами функций, чтобы выяснить, может ли быть лучший ответ.