[Seasar-user:4600] インターセプターへsessionスコープのコンポーネントをインジェクション
内田 淳一
[E-MAIL ADDRESS DELETED]
2006年 9月 13日 (水) 10:14:01 JST
いつもお世話になっております。
内田と申します。
4588で検討違いの発言をしてしまい申し訳ありません。
色々検証した結果、エラーESSR0007が発生するケースを特定しました。
環境は、下記の通りです。
Tomcat5.0.28
S2Struts1.2.5
S2Container2.3.10
Struts1.2.9
Java1.4.10
エラーESSR0007が発生するケースは、下記の条件の場合です。
1.インターセプターを定義する
2.セッションスコープのコンポーネントを作成する
3.インターセプターに2で作成したコンポーネントをセッターインジェクションす
る
上記の条件を満たすdiconファイルは下記の通りです。
<component name="princ" class="jp.co.test.Principal" instance="session">
<arg>"testUser"</arg>
</component>
<component class="jp.co.test.LoginContextImpl" instance="session">
<arg>princ</arg>
</component>
<!-- インターセプター -->
<component name="certifyInterceptor"
class="jp.co.test.CertifyInterceptor"/>
上記のコンポーネントLoginContextImplはLoginContextインターフェースを実装して
おり、
CertifyInterceptorには、そのセッターが用意されています。
CertifyInterceptorが生成され、その後セッターインジェクションされる際に例外が
発生しています。
例外は下記の通りです。
org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]sessionは
nullあるいは空であってはいけません
at
org.seasar.framework.container.deployer.SessionComponentDeployer.deploy(Sess
ionComponentDeployer.java:44)
at
org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentD
efImpl.java:94)
at
org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2Container
Impl.java:123)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(Abs
tractBindingTypeDef.java:83)
at
org.seasar.framework.container.assembler.BindingTypeShouldDef.doBind(Binding
TypeShouldDef.java:38)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(Abstrac
tBindingTypeDef.java:64)
at
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
PropertyAssembler.java:51)
at
org.seasar.framework.container.deployer.PrototypeComponentDeployer.deploy(Pr
ototypeComponentDeployer.java:38)
at
org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentD
efImpl.java:94)
at
org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2Container
Impl.java:123)
at
org.seasar.framework.container.ognl.S2ContainerPropertyAccessor.getProperty(
S2ContainerPropertyAccessor.java:36)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
at ognl.SimpleNode.getValue(SimpleNode.java:213)
at ognl.ASTChain.getValueBody(ASTChain.java:109)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
at ognl.SimpleNode.getValue(SimpleNode.java:213)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:310)
at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:40)
at
org.seasar.framework.container.impl.ArgDefImpl.getValue(ArgDefImpl.java:55)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.getValue(Abs
tractBindingTypeDef.java:98)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindManual(A
bstractBindingTypeDef.java:125)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(Abstrac
tBindingTypeDef.java:62)
at
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
PropertyAssembler.java:49)
at
org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(
SingletonComponentDeployer.java:81)
at
org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(Si
ngletonComponentDeployer.java:51)
at
org.seasar.framework.container.deployer.SingletonComponentDeployer.init(Sing
letonComponentDeployer.java:97)
at
org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.j
ava:284)
at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:396)
at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:393)
at
org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(Sing
letonS2ContainerFactory.java:53)
at
org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerSe
rvlet.java:69)
at javax.servlet.GenericServlet.init(GenericServlet.java:168)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:10
29)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
4013)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8
23)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.
java:903)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
at org.apache.commons.digester.Rule.end(Rule.java:276)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at
org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:7
6)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1567)
at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:488)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:483
)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at
org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
_/_/_/_/_/_/_/_/_/_/_/_/
■/■/■/■/■/■/■/■/■/■/■/■/
株式会社NetValue.IO
( システムイオグループ )
システム開発部
内田 淳一 <Junichi Uchida>
mail : [E-MAIL ADDRESS DELETED]
tel : 06-6455-0830
fax : 06-6455-0831
_/_/_/_/_/_/_/_/_/_/_/_/
■/■/■/■/■/■/■/■/■/■/■/■/
Seasar-user メーリングリストの案内