JVM/Tomcat에서 실행되는 응용 프로그램이 있고 실행되는 시스템에서 IPv6 스택을 사용할 수 있습니다. 나는 IPv4만을 지원하는 다른 머신에 요청을하려고하는데, JVM은 항상이 요청을하기 위해 IPv6 스택을 선호 할 것이다. (요청을하기 위해 아파치 HttpClient
클래스를 사용하고있다.) JVM이 시작할 때 나는 -Djava.net.preferIPv4Stack=true
부동산에 관한하지만 내가 여기에 가지 않을 이유 알고어떻게 격리 된 범위에서 JVM에서 IPv4 스택을 사용하게합니까?
, 나는 그것을 전달할 수 없습니다. 나는 심지어처럼 (짧은 시간 동안) 프로그래밍 방식으로 설정할 수 없습니다
System.setProperty("java.net.preferIPv4Stack", "true");
을 ...이 잠재적으로 JVM/톰캣 인스턴스에서 실행중인 다른 스레드에 영향을 줄 수 있기 때문에 (나는 this question에서 이해되는 및 기타). 나는이 하나의 요청이 IPv4의 스택을 통해 갈 수 있도록 어떻게
그래서 문제는, (실제로는 IPv4 인터페이스뿐만 아니라는 IPv4 엔드 포인트에 연결을 사용하는 의미)입니까? 나는 전혀 JVM을 사용하지 않는 컬 이후 (간부를 통해 또는 바인딩 libcurl를 통해) 컬을 사용하는 방법에 대한 생각했다.다른 아이디어?
프록시를 통해 옵션을 사용할 수 있습니까? 나는 일반적으로 SOCKS 프록시를 사용한다. –
것은 내가 연결하려고하는 컴퓨터가 실제로 프록시라는 것입니다. 그러나 IPv4 (이전 프록시)에서만 작동합니다. 다른 프록시 설정은 문제가되지 않습니다. 다시 말하지만, 이러한 말도 안되는 제한에 대해 유감스럽게 생각하지만, 내가해야 할 일이 있습니다. –
테스트 용 네트워크 액세스 권한이있는 추가 프로그램이 좋지 않습니까? 프록시 선택기가이 요청에 대한 옵션일까요? http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html –