Вы можете использовать crossContext .Но я не думаю, что это не зависит от сервера приложений.
Я хотел бы поделиться пользовательским классом, который ведет себя как реестр запущенных приложений в том же экземпляре tomcat через JNDI, как я объяснил здесь .
Во время запуска, через ContextListener
или через событие контейнера Spring, я получаю реестр через поиск JNDI, добавляю экземпляр моего веб-приложения с URL-адресом, полученным из servletcontext.contextpath, и, наконец, регистрируюслушатель, чтобы услышать другие приложения, регистрирующие себя.Это более независимое от сервера, о чем я могу думать.
Получение порта не будет зависеть от сервера, вам следует использовать параметр контекста.
РЕДАКТИРОВАТЬ: извините, забыл сказать, чтоя описал разделение объектов между контекстами, но нет, вы не можете знать порт, если не используете какой-либо серверный API (вообще не агностик).