[Typesafe Config] config의 default값 설정
by 스뎅(thDeng) onTypesafe Config는 Scala sbt처럼 라인단위로 실행이 되면서, 설정이 되는 형태의 config이다. (Maven처럼 선언적으로 설정하는 방식이 아니다.)
때문에, 하나의 key를 여러번 설정할 수도 있다. 아래 같이 설정하면, http.port
의 값은 9090이 된다. (8080으로 설정된 다음, 다시 9090으로 덮어 써진다.)
http {
port=8080
port=9090
}
이 방법과 변수설정을 이용해서 default값을 설정할 수 있다.
http {
host=localhost
host=${?HTTP_HOST}
port=8080
port=${?HTTP_PORT}
}
${VAR}
와는 다르게 ${?VAR}
는 변수에 설정된 값이 있는 경우에만 실행이 된다. java 명령 실행 시 -D
옵션으로 HTTP_PORT
의 값을 주지 않는 경우 http.port
는 8080이 되고, HTTP_PORT
값을 설정해 주면 다시 한번 덮어써져서 설정된 값으로 사용 가능하다. 시스템의 environment variables로 설정해 줘도 된다.
java -DHTTP_PORT=9090 MyClass
java MyClass