2014-12-23 6 views
0

У меня есть Grails 2.3.6 приложение, в котором я получал номер порта, используя следующий код:Grails: Получить номер порта в Tomcat 7

System.getProperty('server.port').toInteger() 

Приведенный выше код работает отлично.

Теперь проблема заключается в том, что я развертывание приложения Grails как WAR файл в Tomcat 7.

Теперь приведенный выше код не работает, и я не в состоянии получить номер порта.

Есть ли простой способ получить номер порта для экземпляра приложения Grails, работающего на сервере Tomcat 7?

+2

, но зачем он нужен? –

+0

У Grails есть веб-сервисы, которые становятся доступными для клиентов. Поэтому мне нужен номер порта + имя сервера для доступа к открытым интерфейсам в методах веб-сервисов. Я уже знаю, как получить имя сервера, все, что мне нужно знать, - это получить номер порта. – donguy76

ответ

1

В большинстве случаев вы можете использовать Grails Link Generator: http://grails.org/doc/latest/api/org/codehaus/groovy/grails/web/mapping/LinkGenerator.html

Но в любом случае, вы должны понимать, он использует значение конфигурации, хранящуюся в Config.groovy. Поскольку Tomcat's host:port не работает, когда Tomcat напрямую не сталкивается с диким веб-сайтом, обычно он скрыт от внешнего сервера, такого как Nginx (и я настоятельно рекомендую это делать)