2012-11-22 2 views
0

나는 Jetty 서버에서 실행중인 Apache 태피스 트리 응용 프로그램을 가지고 있습니다. 따라서 실행중인 HTTP 서버의 포트 번호는 요청 객체의 요청 중에 얻을 수 있습니다. 하지만 프로그램 시작시 서버가 실행중인 포트 번호 (AppModule 어딘가에 있음)를 알아야합니다. 프로그래밍 방식으로이 정보를 얻을 수있는 방법이 있습니까? 서비스에서 @Symbol (SymbolConstants.HOSTPORT) String hostPort에 액세스하려고 시도했지만 작동하지 않습니다. 그것은 단순히 0을 제공합니다. 분명히 0은 내가 요청한 포트 번호를 찾아야한다는 것을 의미합니다.아파치 태피스 트리에서 응용 프로그램 시작시 포트 번호를 찾는 방법

내가 필요로하는 이유는 다른 응용 프로그램이이 응용 프로그램을 실행하고 호출 할 수있는 포트/IP 주소를 인식 할 수 있도록 일부 데이터베이스에이 정보를 기록해야하기 때문입니다.

답변

0

ServletRequestgetLocalPort()을 제외하고 javax.servlet 패키지의 서블릿 컨테이너 포트를 프로그래밍 방식으로 확인할 수 없다는 것이 확실합니다.

Tapestry는 아직 서블릿 스펙에없는 애플리케이션 컨테이너에 대한 추가 핸들을 제공하지 않습니다.

따라서 첫 번째 요청이 들어 와서 사용 된 포트를 저장하거나 (권장) 포트 구성을 복제해야합니다 (컨테이너 구성 (부두) 한 번 한 번, 응용 프로그램의 다른 곳 (AppModule, web .xml 또는 기타 구성 파일).

세 번째 옵션 (권장하지 않음)은 태피스 트리 응용 프로그램에서 컨테이너의 구성을 조회하는 것입니다. 제발 하지마.

+0

바람둥이에 대한 대답은 다음과 같습니다. 부두에서 비슷한 것을 할 수 있는지 확실하지 않은가요? http://stackoverflow.com/questions/7481432/i-need-to-know-the-http-and-https-port-my-java-webapp-is-running-on-webapp-start – pstanton

관련 문제