[Seasar-user:12013] Re: 続)S2Daoで複数DBへの接続

shibuya [E-MAIL ADDRESS DELETED]
2007年 12月 10日 (月) 12:28:02 JST


お世話になっております、渋谷です。

小林 (koichik)様、JUNDU様ご回答ありがとうございます。

> 以下を参考にどうぞ.
> 
> http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e

調査不足で申し訳ありませんでした。
早速上記サイトを参考に設定を行ってみたものの
エラーになってしまいます。

そもそもdao01(dao02).diconで警告が出てしまいます。
dao.dicon,dao1.dicon,dao2.diconは共にsrc/main/resources/に
格納しています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
 "http://www.seasar.org/dtd/components24.dtd">
<components namespace="dao01">
 <include path="jdbc01.dicon"/>
 <component name="annotationReaderFactory"
class="org.seasar.dao.annotation.tiger.impl.AnnotationReaderFactoryImpl"/>
 <component class="org.seasar.dao.impl.DaoMetaDataFactoryImpl"/>
↑警告↑
(resultSetHandlerFactoryプロパティnull)
(dtoMetaDataFactoryプロパティnull)
(pagingSQLRewiterプロパティnull)
 <component name="interceptor"
  class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
 <component class="org.seasar.dao.impl.ValueTypeFactoryImpl"/>
 <component 
  name="stringClobType" 
  class="org.seasar.extension.jdbc.types.StringClobType"/>
 <component class="org.seasar.dao.impl.BeanMetaDataFactoryImpl"/>
↑警告↑(tableNameプロパティnull)
 <component class="org.seasar.dao.impl.DaoNamingConventionImpl"/>
 <component class="org.seasar.dao.impl.NullBeanEnhancer"/>
</components>


ちなみにDAO呼び出し時に発生するエラーは以下の通りです。

2007-12-10 12:17:12,700 [main] ERRORorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/hoge] -StandardWrapper.Throwable
org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が発生しました。理由は[ESSR0046]コンポーネント(dao)が見つかりません
 at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:103)
 atorg.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:61)
 at org.seasar.framework.container.util.AopProxyUtil.getConcreteClass(AopProxyUtil.java:51)
 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.warmdeploy.WarmdeployBehavior.getComponentDef(WarmdeployBehavior.java:104)
 at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:163)
 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 com.prov_co.zaku2.web.manager.OmcPageWrapper.initialize(OmcPageWrapper.java:30)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:73)
 at org.seasar.framework.container.assembler.AbstractMethodAssembler.invoke(AbstractMethodAssembler.java:94)
 at org.seasar.framework.container.assembler.DefaultInitMethodAssembler.assemble(DefaultInitMethodAssembler.java:49)
 at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:69)
 at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:48)
 at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:76)
 at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:236)
 at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:563)
 at org.seasar.framework.container.impl.ThreadSafeS2ContainerImpl.init(ThreadSafeS2ContainerImpl.java:172)
 at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:560)
 at org.seasar.framework.container.impl.ThreadSafeS2ContainerImpl.init(ThreadSafeS2ContainerImpl.java:172)
 at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:150)
 at org.seasar.framework.container.servlet.SingletonS2ContainerInitializer.initialize(SingletonS2ContainerInitializer.java:55)
 at org.seasar.framework.container.servlet.S2ContainerServlet.initializeContainer(S2ContainerServlet.java:139)
 at org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerServlet.java:127)
 at org.seasar.teeda.core.webapp.TeedaServlet.init(TeedaServlet.java:41)
 at javax.servlet.GenericServlet.init(GenericServlet.java:212)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
 at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
 at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:448)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

何か指摘いただけることがありましたら、よろしくお願いします。

以上


> 小林 (koichik) です.
> 
> Date:    Fri, 07 Dec 2007 17:26:49 +0900
> From:    shibuya <[E-MAIL ADDRESS DELETED]>
> To:       [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:11974] 続)S2Daoで複数DBへの接続
> 
> > 先日のML記事に「S2Daoで複数DBへの接続」がありました。
> > (http://ml.seasar.org/archives/seasar-user/2007-December/011881.htm
> > 質問者の方がSeaser2.3系ということで、2.3系の回答でした。
> > 
> > 現在の私の環境はSeaser2.4.17を使用しています。
> 
> 以下を参考にどうぞ.
> 
> http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e
> 
> > Seaser2.4系での方法として
> > JUNDUさんのブログ(http://d.hatena.ne.jp/JUNDU/20060620/1150814260)を
> > 参考にさせていただいたのですが、
> > jdbc.diconへの記述(dao01.intercepterおよびdao02.intercepterをインターセ
> > プトするコンポーネントを定義)
> > を具体的に教えていただけないでしょうか?
> 
> 何も定義する必要はないと思います.
> 
> 
> --
> <signature>
>    <name>Koichi Kobayashi</name>
>    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> </signature>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 




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