[Seasar-user:15431] Re: [S2Dao]複数データソース設定でエラー

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 8月 19日 (火) 19:19:47 JST


小林 (koichik) 様

conpotaです。

以下のようなエラーになります。

2008-08-19 19:07:07,890 [http-8080-1] DEBUG
org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
deployを開始します
2008-08-19 19:07:07,890 [http-8080-1] DEBUG
org.seasar.cubby.routing.impl.RouterImpl - /Area.xml へのリクエストを受け付けました
2008-08-19 19:07:07,937 [http-8080-1] DEBUG
org.seasar.cubby.routing.impl.PathResolverImpl - アクションメソッドを登録します
[regex=^/Area.xml$,method=public org.seasar.cubby.action.ActionResult
hogehoge.web.area.AreaAction.xml(),uriParameterNames=[],requestMethods=[GET]]
2008-08-19 19:07:07,937 [http-8080-1] DEBUG
org.seasar.cubby.filter.RequestRoutingFilter -
/__internal_forward/hogehoge.web.area.AreaAction/xml へフォワードします
2008-08-19 19:07:07,937 [http-8080-1] DEBUG
org.seasar.framework.container.util.S2ContainerUtil -
クラス(hogehoge.web.area.AreaAction[area_areaAction])のコンポーネント定義を登録します
2008-08-19 19:07:08,031 [http-8080-1] DEBUG
org.seasar.framework.aop.intertype.PropertyInterType - [PropertyInterType]
Introducing... hogehoge.web.area.AreaAction
2008-08-19 19:07:08,031 [http-8080-1] DEBUG
org.seasar.framework.aop.intertype.PropertyInterType - [PropertyInterType]
Creating getter hogehoge.web.area.AreaAction#getAreasDao
2008-08-19 19:07:08,062 [http-8080-1] DEBUG
org.seasar.framework.aop.intertype.PropertyInterType - [PropertyInterType]
Creating setter hogehoge.web.area.AreaAction#setAreasDao
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.cubby.controller.impl.ActionProcessorImpl -
/test/__internal_forward/hogehoge.web.area.AreaAction/xml の処理を開始します
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.cubby.controller.impl.ActionProcessorImpl - アクションメソッド(public
org.seasar.cubby.action.ActionResult
hogehoge.web.area.AreaAction.xml())を実行します
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
hogehoge.web.area.AreaAction#setErrors([E-MAIL ADDRESS DELETED]
)
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.framework.aop.interceptors.TraceInterceptor - END
hogehoge.web.area.AreaAction#setErrors([E-MAIL ADDRESS DELETED])
: null
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
hogehoge.web.area.AreaAction#setFlash({})
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.framework.aop.interceptors.TraceInterceptor - END
hogehoge.web.area.AreaAction#setFlash({}) : null
2008-08-19 19:07:08,093 [http-8080-1] DEBUG
org.seasar.framework.container.util.S2ContainerUtil -
クラス(hogehoge.dao.dao1.AreasDao[dao1_areasDao])のコンポーネント定義を登録します
2008-08-19 19:07:08,093 [http-8080-1] ERROR
org.seasar.cubby.filter.CubbyFilter -
[ESSR0073]OGNLで例外が発生しました。理由は[ESSR0046]コンポーネント(dao)が見つかりません
org.seasar.framework.exception.OgnlRuntimeException:
[ESSR0073]OGNLで例外が発生しました。理由は[ESSR0046]コンポーネント(dao)が見つかりません
    at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:106)
    at
org.seasar.framework.container.ognl.OgnlExpression.evaluate(OgnlExpression.java:64)
    at
org.seasar.framework.container.impl.ArgDefImpl.getValue(ArgDefImpl.java:60)
    at
org.seasar.framework.container.impl.AspectDefImpl.getAspect(AspectDefImpl.java:81)
    at
org.seasar.framework.container.util.AopProxyUtil.getAspects(AopProxyUtil.java:64)
    at
org.seasar.framework.container.util.AopProxyUtil.getConcreteClass(AopProxyUtil.java:54)
    at
org.seasar.framework.container.impl.ComponentDefImpl.getConcreteClass(ComponentDefImpl.java:140)
    at
org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:235)
    at
org.seasar.framework.container.hotdeploy.HotdeployBehavior.getComponentDef(HotdeployBehavior.java:154)
    at
org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromHasComponentDef(S2ContainerBehavior.java:172)
    at
org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromHasComponentDef(S2ContainerBehavior.java:86)
    at
org.seasar.framework.container.impl.S2ContainerImpl.hasComponentDef(S2ContainerImpl.java:456)
    at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(AbstractBindingTypeDef.java:199)
    at
org.seasar.framework.container.assembler.BindingTypeShouldDef.doBind(BindingTypeShouldDef.java:58)
    at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(AbstractBindingTypeDef.java:78)
    at
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(AutoPropertyAssembler.java:68)
    at
org.seasar.framework.container.deployer.RequestComponentDeployer.deploy(RequestComponentDeployer.java:67)
    at
org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:111)
    at
org.seasar.cubby.controller.impl.ActionProcessorImpl.process(ActionProcessorImpl.java:100)
    at org.seasar.cubby.filter.CubbyFilter.doFilter(CubbyFilter.java:89)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:75)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at
org.seasar.cubby.filter.RequestRoutingFilter.doFilter(RequestRoutingFilter.java:150)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: org.seasar.framework.container.ComponentNotFoundRuntimeException:
[ESSR0046]コンポーネント(dao)が見つかりません
    at
org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:165)
    at
org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent(S2ContainerBehavior.java:158)
    at
org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromGetComponent(S2ContainerBehavior.java:62)
    at
org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:124)
    at
org.seasar.framework.container.ognl.S2ContainerPropertyAccessor.getProperty(S2ContainerPropertyAccessor.java:36)
    at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1758)
    at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
    at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
    at ognl.SimpleNode.getValue(SimpleNode.java:211)
    at ognl.ASTChain.getValueBody(ASTChain.java:109)
    at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
    at ognl.SimpleNode.getValue(SimpleNode.java:211)
    at ognl.Ognl.getValue(Ognl.java:333)
    at ognl.Ognl.getValue(Ognl.java:310)
    at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:98)
    ... 53 more

○customizer.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="default-customizer.dicon"/>
  <include path="cubby-customizer.dicon"/>

  <component name="interTypeCustomizer"
class="org.seasar.framework.container.customizer.InterTypeCustomizer">
    <property name="interTypeName">"aop.propertyInterType"</property>
  </component>

  <component name="actionCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod
name="addCustomizer"><arg>interTypeCustomizer</arg></initMethod>
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>
        <component
class="org.seasar.cubby.customizer.ActionMethodCustomizer">
          <initMethod name="addInterceptorName">
            <arg>"j2ee.requiredTx"</arg>
          </initMethod>
          <property name="pointcut">".*"</property>
        </component>
      </arg>
    </initMethod>
    <initMethod
name="addCustomizer"><arg>cubby.initializeCustomizer</arg></initMethod>
    <initMethod
name="addCustomizer"><arg>cubby.validationCustomizer</arg></initMethod>
  </component>

  <component name="dao1SupportAspectCustomizer"
class="org.seasar.framework.container.customizer.AspectCustomizer">
    <property name="interceptorName">"dao1.interceptor"</property>
    <initMethod name="addClassPattern">
        <arg>"hogehoge.dao.dao1"</arg>
        <arg>".*Dao"</arg>
    </initMethod>
</component>
<component name="dao2SupportAspectCustomizer"
class="org.seasar.framework.container.customizer.AspectCustomizer">
    <property name="interceptorName">"dao2.interceptor"</property>
    <initMethod name="addClassPattern">
        <arg>"hogehoge.dao.dao2"</arg>
        <arg>".*Dao"</arg>
    </initMethod>
</component>

  <component name="serviceCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>requiredTxCustomizer</arg>
    </initMethod>
  </component>
  <component name="logicCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
  </component>
  <component name="daoCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>s2DaoCustomizer</arg>
    </initMethod>

    <initMethod name="addCustomizer">
      <arg>dao1SupportAspectCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
        <arg>dao2SupportAspectCustomizer</arg>
    </initMethod>

  </component>
  <component name="dxoCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>s2DxoCustomizer</arg>
    </initMethod>
  </component>
  <component name="helperCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
  </component>
</components>

○my-dao.dicon
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components>
    <include path="dao1.dicon"/>
    <include path="dao2.dicon"/>
    <include path="j2ee.dicon"/>
</components>

○dao1.dicon
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components namespace="dao1">
    <include path="jdbc1.dicon"/>
    <component class="org.seasar.dao.impl.AnnotationReaderFactoryImpl"/>
    <component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
    <component
        name="interceptor"
        class="org.seasar.dao.pager.PagerS2DaoInterceptorWrapper">
        <arg>
            <component
class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
        </arg>
    </component>
    <component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
    <component
        name="stringClobType"
        class="org.seasar.extension.jdbc.types.StringClobType"
    />
    <component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
    <component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
    <component class="org.seasar.dao.impl.NullBeanEnhancer"/>
    <component class="org.seasar.dao.impl.ResultSetHandlerFactorySelector"/>
    <component class="org.seasar.dao.impl.DtoMetaDataFactoryImpl"/>
    <component class="org.seasar.dao.impl.PropertyTypeFactoryBuilderImpl"/>
    <component
class="org.seasar.dao.impl.RelationPropertyTypeFactoryBuilderImpl"/>
    <component class="org.seasar.dao.impl.DefaultTableNaming"/>
    <component class="org.seasar.dao.impl.DefaultColumnNaming"/>
    <component class="org.seasar.dao.impl.ProcedureMetaDataFactoryImpl"/>
</components>

○dao2.dicon
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components namespace="dao2">
    <include path="jdbc2.dicon"/>
    <component class="org.seasar.dao.impl.AnnotationReaderFactoryImpl"/>
    <component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
    <component
        name="interceptor"
        class="org.seasar.dao.pager.PagerS2DaoInterceptorWrapper">
        <arg>
            <component
class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
        </arg>
    </component>
    <component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
    <component
        name="stringClobType"
        class="org.seasar.extension.jdbc.types.StringClobType"
    />
    <component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
    <component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
    <component class="org.seasar.dao.impl.NullBeanEnhancer"/>
    <component class="org.seasar.dao.impl.ResultSetHandlerFactorySelector"/>
    <component class="org.seasar.dao.impl.DtoMetaDataFactoryImpl"/>
    <component class="org.seasar.dao.impl.PropertyTypeFactoryBuilderImpl"/>
    <component
class="org.seasar.dao.impl.RelationPropertyTypeFactoryBuilderImpl"/>
    <component class="org.seasar.dao.impl.DefaultTableNaming"/>
    <component class="org.seasar.dao.impl.DefaultColumnNaming"/>
    <component class="org.seasar.dao.impl.ProcedureMetaDataFactoryImpl"/>
</components>

Daoクラスはhogehoge.dao.dao1に置いています。
Entityクラスはhogehoge.entityに置いています。
***Dao.diconはresources.hogehoge.dao.dao1に置いています。

よろしくお願い致します。

2008/08/19 18:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:

> 小林 (koichik) です.
>
> Date:    Tue, 19 Aug 2008 17:42:39 +0900
> From:    [E-MAIL ADDRESS DELETED]
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:15426] [S2Dao]複数データソース設定でエラー
>
> > 複数データソースの対応で、今度は以下のようなエラーがサーバ起動時に出てしまいました。
> > ここにある通りにやったつもりなのですが。
> > http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e
> >
> > defaultCustomizerがみつからないとのエラー内容なので
>
> defaultCustomizer は trace など,各人が
> 用意するデフォルトの Customizer を意図したもの
> なので,使わないなら指定しないでください.
>
> > ためしにcustomizer.diconのdefaultCustomizerの部分をコメントアウトしたところ、
> > サーバ起動時にエラーは出なくなりましたが、
> > コンポーネント(dao)が見つかりませんとなってしまいます。
>
> こちらのログを見せてください.
> それから,customizer.dicon,dao.dicon,
> dao1.dicon,dao2.dicon も見せてください.
>
>
> --
> <component name="koichik">
>    <property name="fullName">"Koichi Kobayashi"</property>
>    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
conpota <[E-MAIL ADDRESS DELETED]>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20080819/9f726b96/attachment-0001.html>


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