2012-10-09 2 views
1

서버 시작시 서버 이름과 현재 응용 프로그램 포트를 가져 오려고합니다. 내가있는 호스트 이름과 주소를 얻을 수 있었다 :서버 시작시 응용 프로그램 서버 포트 및 주소 얻기

hostName = InetAddress.getLocalHost().getHostName(); 
hostAddress = InetAddress.getLocalHost().getHostAddress(); 

을하지만 포트를 얻을 수 없습니다.

나는 ServletRequest getPort() 메서드를 알고 있지만, 내 응용 프로그램이 항상 요청과 함께 실행되는 것은 아니며 때때로 MQ를 통해 작업이 실행되고 있습니다. 그러므로 요청에 의존 할 수 없습니다.

중요한 경우 봄을 사용하고 있습니다.

누구나 포트를 찾을 수 있습니까? 나는이 문제를 알고있는 것처럼

당신은 CXF 서블릿이 어떤 포트에서 실행이,

Idob

+0

당신이 웹 서버가 사용자의 애플리케이션 서버에서 실행되는 포트에서 알고 싶은 것을 의미합니까? MQ 포트 및 응용 프로그램 서버에서 실행중인 다른 서비스와 다른 점을 알고 있습니까? –

+0

예. 내 응용 프로그램이 다른 서버에서 실행되기 때문에 항상 같은 포트에있는 것은 아닙니다. 그 항구를 알 수있는 방법이 필요해. 당신의 웹 애플리케이션은 MQ를 통해 요청을 수신하고 그 포트를 HTTP에 다음에 실행 어떻게 관련되는지 어떻게 –

+1

확인을 설명해주십시오? 또한 포트 번호를 알아야하는 이유는 무엇입니까? –

답변

2

을 주셔서 감사합니다 그리고 당신은 프로그램이 포트를 취득하고자하는 - 그리고 당신은 어떤 요청이 MQ를 통해 이후오고있다 당신은 애플리케이션 서버를 언급한다. 나는이 요청들이 메시지 중심의 빈에 전달된다고 가정 할 것이다.

CXF 서블릿에서 Request 객체에 액세스 할 수 있고 HTTP 객체가 실행되는 HTTP 포트 번호를 추론하여 액세스 할 수 있습니다.

문제가 CXF 서블릿에 MDB에서 데이터를 얻고 그 반대의 경우도 마찬가지 난 당신이 아니라 런타임시 수신 포트를 결정에 의존하는 것보다 JNDI 메커니즘을 조사 제안하는 경우.

건배,