介紹
因為properties的局限性,有時候得使用XML檔案來定義套用的配置參數,jConfig 正是這樣一個讀寫XML配置檔案的工具。開發者在 Java 程式中只需要使用get/set方法就能讀取修改 XML 檔案中的配置參數。jConfig 目前只支持兩層結構,最新版本為 2.3。
JConfig初始化
JConfig是對核心Java API的擴展library,它通過jni來調用各種平台下應用程式來取得核心java API無法直接獲得的系統信息。它能幫助你創建一個高質量,可擴展的java套用要使用JConfig,你必須確定JConfig能找到它運行時所需要的所有檔案,並且你要適當的對JConfig進行初始化配置。如果你在安裝時出現問題,請參考附帶的例子和幫助檔案來找到怎么初始化JConfig。附帶的例子和程式在source/com/tolstoy/testjc這個目錄下。JConfig附帶的檔案:
1.JConfig.zip(適合所有平台)-包括適合所有平台的.class檔案
2.jconfig.cfg,jcfactrz.txt,jcprops.txt(適合所有平台)-包括了配置信息,和一些支持文檔
3.jcnfigSN.dll,jcnfigSW.sll,etc.(適用於windows平台)-windows DLLs
4.JConfig.shlb(適用於Mac平台)-Mac 公共的library
5.libjconfiglx0.so(適用於linux平台)Linux的公共library
使用JConfig包括三個基本步驟
1.確定jconfig。zip在classpath里。
2.確定jconfig能找到使用時的本地代碼庫
3.調用一個包括支持檔案描述的本地目錄檔案對象的FileRegistry.initialize()方法假設這個支持檔案在你的套用目錄下,你必須這樣調用FileRegistry.initialize() 方法Curdir = new File System.getProperty( "user.dir" ) );
FileRegistry.initialize( curDir, 0 );
注意:套用目錄的許可權必須是可寫的。JConfig將創建一個臨時檔案在這個目錄下面,直到程式不再需要時它會被自動刪除掉。未來的版本可創建一個配置檔案在套用目錄下面.如果目錄傳給FileRegistry.initialize() 不包括所有的支持檔案的話,JConfig將使用內部存儲的默認值.但是,不要使用這種行為:確定目錄下包括了所有的支持檔案。如果JConfig不能找到這些檔案中的任意一個的話,將會在控制台列印出一個警告信息,來說明檔案不能被找到。如果出現警告信息,請檢查目錄下面是否包含了這些檔案。在source/com/tolstoy/testjc目錄下,Tester.java程式包含了‘doubleCheckJConfigInitializationDirectory()’方法,你可以使用它來確定'jconfig.cfg' and 'jcfactrz.txt'存放在那個目錄下。如果這些支持檔案能被發現,並且你的套用運行在一個支持的虛擬機上,JConfig將找到合適的本地代碼庫正確的初始化JConfig但是,如果不能找到合適的本地代碼庫,JConfig將只能提供一套有限制的功能。在這個情況下JConfig將輸出一個信息:that FileRegistryPlain has been loaded
更多細節:
JConfig有三種操作方式,這個要取決於它怎么初始化和在什麼平台在運行
1.full mode: 所有的FileRegisty方法能想你期望的那樣正常運行
2.fallbak mode:只有一部分FileRegisty方法能正常運行,多數會方法null或者-1
3.error mode:所有的FileRegisty方法都返回null或者-1為了讓JConfig能運行在full mode下,必須遵守下面的規則:
1.JConfig必須運行在一個被支持的平台下
2.JConfig必須被初始化,並且套用目錄下包括了jconfig.cfg和jcfactrz.txt這兩個檔案。並且目錄必須是可寫的。
3.如果要使用本地代碼庫,JConfig必須能找到它如果JConfig已經被正確的初始化了,並且能找到所有需要的檔案,它將已full mode運行在它所支持的平台上,或者以fallback mode運行在一個不支持的平台上。