2013-05-24 2 views
1

나는 각각 하나의 RESTFul 서비스가있는 두 개의 웹 애플리케이션을 운영하고 있습니다. 예를 들어, SomeService 상태에 따라 StatusService 및 SomeService가 다른 동작을 수행하는 것과 같이 두 번째 서비스를 호출해야하는 서비스에서. 그래서 SomeService를 호출하여 StatusService를 호출하여 현재 상태를 얻은 다음 작업을 수행하십시오.서블릿에서 JBoss HTTP 커넥터 포트 가져 오기

그래서, 내 StatusService 전화를 내 SomeService에 reques.getServerPort()을 사용, 나는 보스에서 직접 서비스를 호출 할 때 그것은 작동하고이

URL url = new URL("http://localhost:"+request.getServerPort()+"/app2/status"); 

같은있다.

하지만 DMZ로 Apache가 있고 SomeService 만 외부화되었으므로 DMZ를 통해 SomeService를 호출 할 때 http://localhost:80/app2/status이 아닌 http://localhost:8080/app2/status을 호출하려고합니다.

포트를 가져 오는 다른 방법이 있습니까?

미리 감사드립니다.

답변

0

당신은 요청을 수신 한 포트를 반환의 javadoc에 따르면 request.getLocalPort

을 시도 할 수 있습니다.

+0

나는 getLocalPort와 getServerPort를 시도해 보았습니다. 두 사람 모두 80 –

+0

을 반환했습니다. OK : 도움이 될 수 있습니다. http://stackoverflow.com/questions/3867197/get-the-server-port-number-from-tomcat-with-out-a-request-하지만 모든 것이 나에게 겁나는 것처럼 보입니다. 이 문제에 직면했다면 첫 번째 방법은 StatusService에서 비즈니스 로직을 가져 와서 SomeService와 동일한 웹 애플리케이션 내에 호스팅하는 것입니다. 그냥 다른 자바 메서드로 호출합니다. 그럴 가능성이 있니? – DaveH

관련 문제