Property 서비스

1. 개요

Property Service 는 시스템의 설치 환경에 관련된 정보나, 잦은 정보의 변경이 요구되는 경우 외부에서 그 정보를 관리하게 함으로써 시스템의 유연성을 높이기 위해서 제공하는 것으로 Spring Bean 설정 파일에 관리하고자 하는 정보를 입력(Bean 설정 파일 사용) 하거나 외부 파일에 정보 입력 후에 Bean 설정 파일에서 그 파일 위치를 입력하여 이용(외부 설정 파일 사용)할 수 있다.

2. Bean 설정 파일 사용

간단하게 설정하고자 할 때 사용할 수 있는 방법으로 별도의 외부파일을 두지 않고 Spring Bean 설정 파일을 이용할 수 있다. 하지만 어플리케이션 운영 중에 Property 정보 변경은 불가능 하고 변경처리 시 어플리케이션을 재기동해야 한다. 사용하기 위해서는 bean property의 Name에 properties라고 입력하고 map entry의 key에 관리하고자 하는 키, value에 관리하고자 하는 값을 입력하여 설정한다.

Configuration
   <bean name="propertyService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" 
         destroy-method="destroy">
      <property name="properties">
         <map>
            <entry key="AAAA" value="1234"/>
         </map>
      </property>			
   </bean>
Sample Source
@Resource(name="propertyService")
protected EgovPropertyService propertyService ;
 
@Test
public void testPropertiesService() throws Exception {
   assertEquals("1234",propertyService.getString("AAAA"));
}
제공유형별 설정/사용 방법
제공유형 설정 방법 사용 방법
String key=“A” value=“ABC” propertyService.getString(“A”)
boolean key=“B” value=“true” propertyService.getBoolean(“B”)
int key=“C” value=“123” propertyService.getInt(“C”)
long key=“D” value=“123” propertyService.getLong(“D”)
short key=“E” value=“123” propertyService.getShort(“E”)
float key=“F” value=“123” propertyService.getFloat(“F”)
Vector key=“G” value=“123,456” propertyService.getVector(“G”)

3. 외부 설정 파일 사용

별도의 Property 파일을 만들어서 사용하는 방법으로 Spring Bean 설정 파일에는 파일의 위치를 입력하여 이용할 수 있다. 외부 설정 파일에 기재된 프로퍼티 내용은 어플리케이션 운영 중에 추가 및 변경 가능하다.

Configuration
   <bean name="propertyService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" 
         destroy-method="destroy">
      <property name="extFileName">
         <set>
            <map>
               <entry key="encoding" value="UTF-8"/>
               <entry key="filename" value="file:./src/**/refresh-resource.properties"/>
            </map>
            <value>classpath*:properties/resource.properties</value>
         </set>
      </property>			
   </bean>
  • MAP을 이용해서 encoding 정보를 입력하는 방법과 파일 위치만을 기재하는 방법 두가지 설정방법 있음
properties 파일
AAAA=1234
Sample Source
@Resource(name="propertyService")
protected EgovPropertyService propertyService ;
 
@Test
public void testPropertiesService() throws Exception {
   assertEquals("1234",propertyService.getString("AAAA"));
}
실시간 갱신 방법
  1. 외부파일에 기재된 property 내용을 수정한다.
  2. propertyService.refreshPropertyFiles()를 호출한다.
(주의)
  • Tomcat 운영 시 server.xml에 정의된 Context 속성 중 reloadable 값을 false로 설정한다.(다른 WAS도 필요시 조치)
  • eclipse 실행 시 Tomcat Server의 Publishing 옵션을 'Naver publish automatically'로 설정한다.
  • 수정 대상 리소스는 개발소스가 아닌 배포소스를 수정한다.

4. 참고자료

 
egovframework/rte/fdl/property.txt · 마지막 수정: 2016/12/06 08:57 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki