ファイルから Chain を読み込む際のざっくりな手順は次のとおり。
Chain を記述する際の xml の主要なタグと属性の説明です。
<catalog>
    <chain name="chainKey">
        <command className="javademo.chain.Command1"/>
    </chain>
</catalog>
基本的に見たまんまです。
各タグが表すクラスのインスタンスに add するものをタグの間に書いていくだけです。
xml ファイルの読み込みには org.apache.commons.chain.config.ConfigParser クラスを使います。
使い方は簡単で、読み込む xml ファイルの場所を URL オブジェクトとして取得し、parse(URL) メソッドに渡してやるだけです。
読み込んだ結果は CatalogFactory から取り出すことができます。
URL config = ClassLoader.getSystemResource("config.xml");
ConfigParser parser = new ConfigParser();
 
try{
    parser.parse(config);
    // 以下略
今回作成したサンプルコードは次の通りです。
package javademo.chain;
import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
public class Command1 implements Command {
    public boolean execute(Context arg0) throws Exception {
        System.out.println("Command1 executed.");
        return false;
    }
}
package javademo.chain;
import java.net.URL;
import org.apache.commons.chain.Catalog;
import org.apache.commons.chain.CatalogFactory;
import org.apache.commons.chain.Command;
import org.apache.commons.chain.config.ConfigParser;
import org.apache.commons.chain.impl.ContextBase;
public class Run {
    public static void main(String[] args){
        URL config = ClassLoader.getSystemResource("config.xml");
        ConfigParser parser = new ConfigParser();
        
        try{
            parser.parse(config);
            CatalogFactory factory = CatalogFactory.getInstance();
            Catalog catalog = factory.getCatalog();
            Command command = catalog.getCommand("chainKey");
            command.execute(new ContextBase());
        }catch(Exception e){
            e.printStackTrace();
            System.exit(1);
        }
    }
}
Chain の構成を記述した xml ファイルを読み込むには ConfigParser を使う。
ConfigParser で読み込まれた内容は CatalogFactory に格納される。