2010-06-06 4 views
4

서블릿을 사용하여 속성 파일의 위치에 대해 web.xml에서 초기화 매개 변수를 읽는 응용 프로그램이 있습니다. 그런 다음, serlvet은 다른 프로그램이 필요에 따라 읽을 수 있도록 파일의 위치를 ​​저장하는 클래스의 인스턴스를 만듭니다. 이 클래스에는 적절한 get 및 set 메서드가 있습니다.Java 속성 파일을 읽는 가장 좋은 방법은 무엇입니까?

하지만 내 질문은 속성에 대한 액세스와 관련이 있습니다. 물리적 속성 파일을 각 프로그램에서 런타임에 읽거나 속성을 메모리에 저장해야합니까?

속성은 현재 런타임에 변경되지 않지만 변경 될 수 있습니까? 나는 다양한 대안 접근법을 보았지만 어느 것이 가장 좋은 것인지 잘 모릅니다.

감사

씨 모건

답변

6

속성 파일이 크지 않은 경우, 메모리에 저장하는 디스크 매번에서 그것을 읽는 것보다 더 효율적으로 할 수있다. Apache Commons Configuration을 고려해 볼 수 있습니다. automatic reloading을 지원합니다.

+0

이 방법이 가장 좋습니다. 파일이 크지는 않습니다 - 아마도 50 - 100 개의 항목입니다. 감사. –

+2

+1 나는이 아파치 공유 클래스에 대해 잘 몰랐다. – Inv3r53

+0

@Mr Morgan : 클래스 파일에 propertiesfile을 추가하거나 클래스 패스에 경로를 추가하여 파일 이름을 사용하여로드 할 수도 있습니다. – BalusC

1

.properties 파일의 값을 서버에 저장 하시겠습니까? 먼저 파일에서 등록 정보를로드하고 캐시하십시오. 필요할 때 캐시에서 가져옵니다. 파일을 감시하는 파일 감시견에게 매 x 초마다 말하고 파일이 수정되면 파일에서 속성을 다시로드하십시오.

관련 문제