[Seasar-user:3414] 自動バインディングについて
穐山雄治
[E-MAIL ADDRESS DELETED]
2006年 3月 22日 (水) 17:13:25 JST
穐山と申します。
初めて投稿させて頂きます。
Seaser2の自動バインディングについての質問です。
環境
- JDK1.5.0.06
- WebWork2.2.1
- Seaser2.3.4
- Tomcat5.5.15
Seaser2の自動バインディング機能で、instance属性をsingletonで登録したコンポーネントに対して、instance属性をsessionで登録したコンポーネントを設定するといった事はできないのでしょうか?
instance属性がprototypeのコンポーネントに対してはinstance属性をsessionで登録したコンポーネントを設定するといったことはできています。
コンポーネントは自動登録の機能を使って登録しています。
instance属性をsingletonで登録したコンポーネントに対して、instance属性をsessionで登録したコンポーネントを設定するという設定でTomcatを起動すると起動時に下記エラーが発生します。
org.seasar.framework.exception.EmptyRuntimeException:
[ESSR0007]sessionはnullあるいは空であってはいけません
at org.seasar.framework.container.deployer.SessionComponentDeployer.deploy(SessionComponentDeployer.java:44)
at org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:94)
at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:107)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(AbstractBindingTypeDef.java:75)
at org.seasar.framework.container.assembler.BindingTypeMayDef.doBind(BindingTypeMayDef.java:34)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(AbstractBindingTypeDef.java:64)
at org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(AutoPropertyAssembler.java:46)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:80)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:51)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:96)
at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:272)
at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:361)
at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:51)
.....
例えば、singletonのコンポーネントの初期化時は初期化だけ行い、そのコンポーネントを実際に取得する際に、sessionで登録したコンポーネントを自動バインディングして取得するといった方法などはできないのでしょうか?
よろしくお願いします。
Seasar-user メーリングリストの案内