Backend/Java
Java에서 서버 호스트(host) 정보 가져오는 법
컴슈터
2023. 11. 22. 18:47
로컬, 개발, 운영 서버간 다르게 동작을 처리해야 할 경우가 있다. 이럴 때 InetAddress.getLocalHost()를 이용하여 호스트 정보를 가져와서, 로컬 서버인지 구분할 수 있다.
호스트 정보 가져오는 예제
import java.net.InetAddress;
import java.net.UnknownHostException;
import lombok.extern.slf4j.Slf4j;
public class Sample {
public static void main(String[] args) {
System.out.println("호스트 정보 : " + getHostInfo());
}
public static String getHostInfo() {
String hostName = "";
String hostAddr = "";
try {
hostName = InetAddress.getLocalHost().getHostName();
hostAddr = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
// 예외처리
}
return hostName + "(" + hostAddr + ")";
}
}
로컬 서버인지 구분하는 예제
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Sample {
public static void main(String[] args) {
if (isLocalServer()) {
return;
}
}
public static boolean isLocalServer() {
String hostName = "";
try {
hostName = InetAddress.getLocalHost().getHostName();
// 개발서버, 운영서버 hostName이 dev1, prd1이라고 가정함
List<String> serverList = new ArrayList<>(Arrays.asList("dev1", "prd1"));
if (serverList.contains(hostName)) {
return false;
}
} catch (UnknownHostException e) {
// 예외처리
}
return true;
}
}