동일한 서버의 다른 URL에서 나란히 실행하고 싶은 2 개의 그리즐리 응용 프로그램이 있습니다. 로컬 디버깅을 위해 localhost
에서 api.url.local
으로 URL을 변경하면 java.nio.channels.UnresolvedAddressException
이 발생합니다. java가 다른 URL을 인식하도록하기 위해해야 할 일이 있습니까? (즉, hosts 파일을 수정하십시오)? 아니면 잘못된 방향으로 가고 있습니까?특정 URL에 배포하는 방법
현재 Windows를 사용하고 있지만 Linux로 배포 할 예정입니다. (내게 달린 리눅스라면 리눅스를 돌린다.)
public class Main {
public static final URI BASE_URI = getBaseURI();
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost/").port(9998).build();
}
protected static HttpServer startServer() throws IOException {
ResourceConfig rc = new PackagesResourceConfig("com.my.package.api.resources");
rc.getFeatures()
.put(JSONConfiguration.FEATURE_POJO_MAPPING, true);
return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
}
public static void main(String[] args) throws IOException {
AnnotationConfigApplicationContext annotationCtx = new AnnotationConfigApplicationContext(Config.class);
HttpServer httpServer = startServer();
System.out.println(String.format("Jersey app started with WADL available at " + "%sapplication.wadl\nHit enter to stop it...", BASE_URI, BASE_URI));
System.in.read();
httpServer.stop();
}
}
이 애플리케이션에 다른 포트 (TCP 포트)를 사용하셨습니까? 이 2 가지 앱이 별도의 JVM 인스턴스에서 실행되는 것을 이해합니다. 맞습니까? – alexey
그들은 같은 경우입니다. 나는 항구를 고려했다. 그러나 그것이 필요한지 궁금하게 생각하고있다. 2 개의 서로 다른 URL에 배포 할 수 있습니까? JVM이 URL을 실행중인 응용 프로그램에 매핑합니까? – Webnet
하나의 포트를 사용하려면 두 응용 프로그램 모두에 대해 HttpServer 인스턴스를 공유해야합니다. 이 앱들은 어떻게 생겼습니까? – alexey