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>