properties 로딩에 대해....
- 작성자 :
- 김*윤
- 작성일 :
- 2010-06-19 17:40:49
- 조회수 :
- 3,409
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
String serverConfigPath = propertyService.getString("Globals.CommunityServerConfigPath");
log.info("Server Path : " + serverConfigPath);
if (serverConfigPath == null) {
serverConfigPath = System.getProperty("user.home")
+ File.separator
+ "egovProps" + File.separator + "conf"
+ File.separator + "community.properties";
}
log.info("Server Path : " + serverConfigPath);
String bbsId = EgovProperties.getProperty(serverConfigPath, "community.notice.id");
사용자 정의 properties 파일을 만들어서 globals.properties 파일에 Globals.CommunityServerConfigPath = 파일 경로... 를 설정했습니다.
근데 결과는 globals.properties 파일은 못읽어들이더군요..
[INFO ] (MainController.java:66) - Server Path : null
[INFO ] (MainController.java:74) - Server Path : C:\Users\Minato\egovProps\conf\community.properties
null일때 강제적으로 실제 파일 경로를 넣어줬습니다. 톰캣 실행하면서 저 파일들을 자동적으로 읽어주는 방법은 없을까요?? 소스 분석하는것도 시간이 많이 걸리네요 ㅎㅎ..
원하는건.. propertyService.getString("community.notice.id");
이것만으로 community.properties 정보를 읽어오는것이죠..^^;;
log.info("Server Path : " + serverConfigPath);
if (serverConfigPath == null) {
serverConfigPath = System.getProperty("user.home")
+ File.separator
+ "egovProps" + File.separator + "conf"
+ File.separator + "community.properties";
}
log.info("Server Path : " + serverConfigPath);
String bbsId = EgovProperties.getProperty(serverConfigPath, "community.notice.id");
사용자 정의 properties 파일을 만들어서 globals.properties 파일에 Globals.CommunityServerConfigPath = 파일 경로... 를 설정했습니다.
근데 결과는 globals.properties 파일은 못읽어들이더군요..
[INFO ] (MainController.java:66) - Server Path : null
[INFO ] (MainController.java:74) - Server Path : C:\Users\Minato\egovProps\conf\community.properties
null일때 강제적으로 실제 파일 경로를 넣어줬습니다. 톰캣 실행하면서 저 파일들을 자동적으로 읽어주는 방법은 없을까요?? 소스 분석하는것도 시간이 많이 걸리네요 ㅎㅎ..
원하는건.. propertyService.getString("community.notice.id");
이것만으로 community.properties 정보를 읽어오는것이죠..^^;;
A
안녕하세요. 김태윤님.
우선 처리상 propertyService에서 Globals.CommunityServerConfigPath가 정의되어 있지 않은 것 같습니다.
(정의가 되어 있으면 serverConfigPath 값이 null이 오지 않음)
또는 propertyService가 inject되어 있는 상황(@Resource 또는 @Autowired)이면 다음과 같이 @PostConstruct를 사용하면 bean이 로딩되자마다 해당 메소드를 실행하기 때문에 그 곳에서 user.home system property를 적용하시면 될 것 같습니다
@PostConstruct
public void init() {
// 초기 설정
}
그럼.. 즐거운 하루되십시오.
감사합니다.
우선 처리상 propertyService에서 Globals.CommunityServerConfigPath가 정의되어 있지 않은 것 같습니다.
(정의가 되어 있으면 serverConfigPath 값이 null이 오지 않음)
또는 propertyService가 inject되어 있는 상황(@Resource 또는 @Autowired)이면 다음과 같이 @PostConstruct를 사용하면 bean이 로딩되자마다 해당 메소드를 실행하기 때문에 그 곳에서 user.home system property를 적용하시면 될 것 같습니다
@PostConstruct
public void init() {
// 초기 설정
}
그럼.. 즐거운 하루되십시오.
감사합니다.