S2RMI+S2Dao

S2RMI+S2Daoという構成でぷろぐらみんぐ。やっとS2RMIでリモート呼び出しができるようになったとおもったら、
今度はS2RMIからS2Daoを呼び出すところで落ちる。一歩歩くたびに罠に罹っているようでつらい。。

コンポーネントが見つからないらしい。[ESSR0046]というエラーだ。
ちなみにS2RMI経由ではなくmainから直接呼び出すとちゃんと呼び出されてくれる。
なぜだろうか。4時間ぐらい悩んでいるが手の出しようが無く、つらい。
またdiconだろうか。。dicon難しい。でも違うような気がする。containerの作り方が悪いのかなあ。なんだろう。つらい。

cooldeployでもhotdeployでもだめだった。なぜだ。
ちなみにサーバー側のプロジェクトはChuraのS2DaoOnlyというプロジェクトにして作った。うーーーーーん。


サーバーのソース

public class ProductServiceImpl implements ProductService {

	public Product[] selectAll() {
		S2Container container = SingletonS2ContainerFactory.getContainer();
        ProductDao dao = (ProductDao)
            container.getComponent(ProductDao.class);
        
        return dao.selectAll();
//        return new Product[] {new Product(), new Product()};
	}
	
}

サーバーのapp.dicon

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
	"http://www.seasar.org/dtd/components24.dtd">
<components>
	<include path="convention.dicon"/>
	<include path="aop.dicon"/>
	<include path="dao.dicon"/>
	<include path="dxo.dicon"/>
        
        <!--追加-->
	<include path="s2rmi.dicon"/>
</components>