std-customizer.diconのdxoCustomizer

 Seasar2 2.4.6で追加されたstd-customizer.diconですが、dxoCustomizerの定義が問題のような気がします。いつも通り、私の勘違いの可能性もありますが。。。

 Doltengを使ってTeeda+S2Daoのプロジェクトを新規作成し、customizer.diconをSVN上の最新のもので上書きします。そして、コメントアウトされているdxoCustomizerの定義を有効にして、適当なDxoインターフェースを作って実行すると、スタックオーバーフローします。

 見た感じ、CustomizerChainに同じCustomizerChainが登録されているように見えます。dxo.intercepterのカスタマイザとカスタマイザチェインが同じ名前なのが問題のような気がします。ためしに、std-customizer.diconからDxoコンポーネント定義をcustomizer.diconにコピーしてきて、名称をかぶらないように修正すると正常に動作しました。本当に試すにはjarの中のstd-customizer.diconを書き換えるべきなのですが、ちょっと手が回っていません。。。

 最後に、実際に発生した例外のスタックトレースを張っておきます。id:koichikさん、私の勘違いでしょうか?(^^;

java.lang.StackOverflowError
	java.lang.Exception.<init>(Exception.java:29)
	java.io.IOException.<init>(IOException.java:28)
	ognl.JavaCharStream.FillBuff(JavaCharStream.java:139)
	ognl.JavaCharStream.ReadByte(JavaCharStream.java:163)
	ognl.JavaCharStream.readChar(JavaCharStream.java:264)
	ognl.OgnlParserTokenManager.jjMoveNfa_0(OgnlParserTokenManager.java:907)
	ognl.OgnlParserTokenManager.jjStartNfa_0(OgnlParserTokenManager.java:181)
	ognl.OgnlParserTokenManager.jjMoveStringLiteralDfa2_0(OgnlParserTokenManager.java:440)
	ognl.OgnlParserTokenManager.jjMoveStringLiteralDfa1_0(OgnlParserTokenManager.java:352)
	ognl.OgnlParserTokenManager.jjMoveStringLiteralDfa0_0(OgnlParserTokenManager.java:278)
	ognl.OgnlParserTokenManager.getNextToken(OgnlParserTokenManager.java:1494)
	ognl.OgnlParser.jj_ntk(OgnlParser.java:3079)
	ognl.OgnlParser.navigationChain(OgnlParser.java:1266)
	ognl.OgnlParser.unaryExpression(OgnlParser.java:1198)
	ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:973)
	ognl.OgnlParser.additiveExpression(OgnlParser.java:896)
	ognl.OgnlParser.shiftExpression(OgnlParser.java:752)
	ognl.OgnlParser.relationalExpression(OgnlParser.java:510)
	ognl.OgnlParser.equalityExpression(OgnlParser.java:407)
	ognl.OgnlParser.andExpression(OgnlParser.java:354)
	ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:301)
	ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:248)
	ognl.OgnlParser.logicalAndExpression(OgnlParser.java:195)
	ognl.OgnlParser.logicalOrExpression(OgnlParser.java:142)
	ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:103)
	ognl.OgnlParser.assignmentExpression(OgnlParser.java:66)
	ognl.OgnlParser.expression(OgnlParser.java:25)
	ognl.OgnlParser.topLevelExpression(OgnlParser.java:17)
	ognl.Ognl.parseExpression(Ognl.java:113)
	org.seasar.framework.util.OgnlUtil.parseExpression(OgnlUtil.java:73)
	org.seasar.framework.container.ognl.OgnlExpression.<init>(OgnlExpression.java:42)
	org.seasar.framework.container.ognl.OgnlExpression.<init>(OgnlExpression.java:34)
	org.seasar.framework.container.factory.AspectDefFactory.createAspectDef(AspectDefFactory.java:43)
	org.seasar.framework.container.factory.AspectDefFactory.createAspectDef(AspectDefFactory.java:50)
	org.seasar.framework.container.customizer.AspectCustomizer.customize(AspectCustomizer.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)
	org.seasar.framework.container.customizer.CustomizerChain.customize(CustomizerChain.java:51)

(以下、延々と同じ。。。)