<$BlogRSDURL$>

Ayar Sistemi 

İster masaüstü ister web uygulaması hatta gömülü mobil uygulamalar olsun, yazılan her uygulamanın bir şekilde ayar bilgileri barındırması gerekir. Bu ayar bilgilerinin saklanacağı ortamlar çeşitli olabilir. En basit yöntem bir metin dosyasında tutmak ya da günümüz modası olarak bir XML'de saklamak olabilir. Uygulamanın türününe göre bu değerler veri tabanı ya da LDAP üzerinde de saklıyor olabilir. Hatta çoğu zaman olduğu gibi bunların hepsi birden kullanılıyor olabilir.

Apache Jakarta Commons Configuration, bütün bu sorunlara çözüm sunmak için geliştirilmiş bir kütüphane. Uygulamanın ihtiyaç duyduğu ayar bilgilerini çeşitli kaynaklardan okuyup, bunları genel bir arayüz ile uygulama programcısına sunmakta.

Double double = config.getDouble("number");
Integer integer = config.getInteger("number");

Olası tüm ayar kanaklarını desteklemekte. Bunların yeterli gelmediği yerler için de özel ayar okuyucular hazırlanıp modüler bir şekilde sisteme eklenebilirler. Hali hazırda desteklenen ayar kaynakları :


Yukarıda sayılan ayar kaynakları bir arada kullanılabilirler. Yani bir uygulamanın bazı ayar bilgileri yerel bir özellik dosyasında, bazı ayar bilgileri uzak bir XML dosyasında, bazıları ise bir LDAP sunucusunda bulunabilir ve bu ayar kaynaklarının hepsi bir arada kullanılabilir. Ayar sistemini kullanmak için iki alternatif yöntemden biri seçilebilir.

CompositeConfiguration

Bu yöntem de uygulama ayar kaynaklarının neler olduğunun kontrolünü kendisi yapar. Özel ayar kaynakları olan sistemler için önerilecek olan sistemdir.
Configuration defaults = new PropertiesConfiguration(fileToDefaults);
Configuration otherProperties = new PropertiesConfiguration(fileToOtherProperties);
CompositeConfiguration cc = new CompositeConfiguration();
cc.addConfiguration(otherProperties);
cc.addDefaults(fileToDefaults);


ConfigurationFactory

Bu yöntemde ise sistem ayar bilgileri, bir XML dosyasına yerleştirilir. Böylece hangi ayar kaynaklarının kullanılacağı da bir ayar dosyasına yazılmış olur.


<?xml version="1.0" encoding="ISO-8859-1" ?>

<configuration>
<properties fileName="usergui.properties"/>
</configuration>

Kullanmak için de aşağıdaki gibi bir kod ile bu dosyaya erişmek yeterli olacaktır.

ConfigurationFactory factory = new ConfigurationFactory();
URL configURL = new File("config.xml").toURL();
factory.setConfigurationFileName(configURL.toString());
Configuration config = factory.getConfiguration();

Commons Configuration, ASL ile yayınlanmaktadır. Çalışmak için duruma göre Commons Collection gibi başka jakarta commons bileşenlerine gereksinim duymaktadır. İndirmek ve nasıl kullanıldığına dair daha fazla için tıklayınız.

0 Yorum:

Cevze, Java yazılım geliştirme ortamı ile ilgili konuları içeren bir Hakan Uygun weblogudur. Yapımında Blogger-Templates'den şablon kullanımıştır. Ayrıca Cezve resmi de mehmetefendi.com'dan alınmıştır.