[Seasar-user:11876] Re: [S2Axis2/S2Container] SimpleComponentDef#getMetaDefSizeを通り,例外が発生するのですが.

Applied_MATSUDA Masaaki [E-MAIL ADDRESS DELETED]
2007年 12月 3日 (月) 10:59:38 JST


TigerCatです.


たかのり様,ご返答いただきありがとうございます.



>> org.seasar.remoting.axis2.deployer.AxisDeployer クラスの
>> getMetaDef メソッドの中で,metaDefSupport.getMetaDefSize()
>> しているところがあるのですが,
>> これを実行すると実際には
>> org.seasar.framework.container.impl.SimpleComponentDef#getMetaDefSize
>> を呼び出し,そのメソッドの実装であるただUnsupportedOperationException
>> を投げるだけの処理に陥るパターンというのは,
>> どういう状況で発生するのでしょうか?
>
>上記の情報だけでは、原因が分からなかったのですが、
>diconには、どのような定義をしていますでしょうか?

えっとですね,S2Axis2が絡みそうなdiconはこんなふうです.
多分問題ないんです.(ちょっと下に引用)
S2ContainerServlet を使うぶんには問題ないですし,
TeedaServlet を使うぶんにも問題ないんですが,
PortletExtendedTeedaServlet を使うと例のExceptionな
わけなのです.
ということで,AxisDeployerクラスのgetMetaDefメソッド
の中で,SimpleComponentDefのインスタンスを処理して
しまうと,必ずUnsupportedOperationExceptionに遭遇
してしまうのは明らかなのですが,そのような状況になる
のはどんな原因があるのかなー,と追いかけている次第
でございます・・・

===== 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="app_aop.dicon"/>
	<include path="teedaExtension.dicon"/>
	<include path="dxo.dicon"/>
	<include path="s2axis2.dicon"/>
	<include path="s2axis2Deploy.dicon"/>
</components>


===== s2Axis2Deploy.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>
    <component name="Echo2Service"
class="s2axis.example.service.impl.Echo2ServiceImpl">
        <meta name="axis-service"/>
    </component>
</components>


>> S2Axis2 0.3.0 とTeeda(1.0.8/1.0.11-SP1どちらでも)と
>> S2Container(2.0.45/2.0.47どちらでも)の組み合わせです.
>
>S2Containerのバージョンは、
>2.4.15/2.4.17ということですかね?

あ!すみません!!
すぐ訂正するつもりだったのですが金曜日だったので
呑み会になってしまい・・・(略
2.4.15/2.4.17 のことです.



Seasar-user メーリングリストの案内