2011년 6월 13일 월요일

Jakarta Common Configuration

설치
DownLoad : http://jakarta.apache.org/commons/configuration/index.html
연관 라이브러리
Common Configuration을 사용하기 위해서는 다음의 연관 라이브러리가 설치 되어 있어야 한다.
1. Jakarta Commons-Beanutils
2. Jakarta Commons-Collections
3. Jakarta Commons-Digester
4. Jakarta Commons-Lang
5. Jakarta Commons-Logging

Sample Program
Sample에서 사용하는 Configuration 파일은 다음과 같이 application.properties, config.xml, user.xml 3개이다. xml 파일을 작성하여 저장할 때는 반드시 UTF-8포맷으로 저장 하여야 한다.
application.properties
# written by PropertiesConfiguration
# Tue Dec 27 13:53:27 KST 2005
name = uD6C4uB8E8uAFB8
phone = 02-1234-1234
user.info = ${name} ${phone}


config.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system/>
<properties fileName="application.properties"/>
</configuration>


user.xml
<?xml version="1.0" encoding="UTF-8" ?>
<user-definition>
<address>
<postnumber>123-963</postnumber>
<text>서울특별시 서초구 서초동</text>
</address>
<phone home="123-4567" office="369-8956"/>
<name>
<first>루꾸</first>
<last></last>
</name>
</user-definition>


MainTest.java
package jakarta.common.config;
import java.util.Iterator;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.ConfigurationFactory;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.SystemConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
public class MainTest
{
public static void main(String[] args) throws Exception {
MainTest m = new MainTest();
m.SystemConfigExec();
m.PropertiesExec();
m.PropertiesSave();
m.ConfigFactoryExec();
m.XMLConfigExec();
m.XMLConfigValidationExec();
}
public void SystemConfigExec() throws ConfigurationException {
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new SystemConfiguration());
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
public void PropertiesExec() throws ConfigurationException {
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new PropertiesConfiguration("application.properties"));
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
public void PropertiesSave() throws ConfigurationException {
PropertiesConfiguration config = new PropertiesConfiguration("application.properties");
config.setAutoSave(false);
config.setProperty("name", "후루꾸");
config.setProperty("phone", "02-1234-1234");
config.save();
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
public void ConfigFactoryExec() throws ConfigurationException {
ConfigurationFactory factory = new ConfigurationFactory("config.xml");
Configuration config = factory.getConfiguration();
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
public void XMLConfigExec() throws ConfigurationException {
XMLConfiguration config = new XMLConfiguration("user.xml");
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
public void XMLConfigValidationExec() throws ConfigurationException {
XMLConfiguration config = new XMLConfiguration();
config.setFileName("user.xml");
config.setValidating(true);
config.load();
Iterator keys = config.getKeys();
String key = "";
while(keys.hasNext()) {
key = (String)keys.next();
System.out.print(key+" : ");
System.out.println(config.getString(key));
}
}
}

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...