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) (以下、延々と同じ。。。)