[Seasar-user:17159] Tomcat起動時に"PropertyNotFoundRuntimeException"が発生

山田 薫 [E-MAIL ADDRESS DELETED]
2009年 4月 1日 (水) 13:11:04 JST


お世話になります。
山田と申します。

S2DBCPで"validationQuery"、"validationInterval"プロパティを
使用するため、jdbc.diconに下記2行の設定を追加したところ
Tomcat起動時に"PropertyNotFoundRuntimeException"が発生しました。

デバックしてみたところArrayMapクラスにおいて
上記2つのプロパティ名のマッピングに失敗しているようです。

対処や調査方法があればご教授願います。

TOMCAT: 5.5.26
OS: Red Hat Enterprise Linux 4.5
JDK: 1.5.0.16
Seasar ver: 2.4.17

-------------- jdbc.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 namespace="jdbc">
	<include path="jta.dicon"/>
	<component
class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
    <component
class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
        <arg>
            <component
class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
        </arg>
        <property name="fetchSize">100</property>
        <!--
        <property name="maxRows">100</property>
        -->
    </component>
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"oracle.jdbc.driver.OracleDriver"
		</property>
		<property name="URL">
			"jdbc:oracle:thin:@hostname:1521:dbname"
		</property>
		<property name="user">"user"</property>
		<property name="password">"password"</property>
		<initMethod name="addProperty">
			<arg>
				"includeSynonyms"
			</arg>
			<arg>"true"</arg>
		</initMethod>
	</component>

	<component
		 name="connectionPool"
         class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
         <property name="timeout">600</property>
         <property name="maxPoolSize">10</property>
         <property name="allowLocalTx">true</property>
         <property name="validationQuery">"select * from dual"</property> 
←追加した行
         <property name="validationInterval">10000</property>       
←追加した行
         <destroyMethod name="close"/>
	</component>
	<component
		name="dataSource"
		class="org.seasar.extension.dbcp.impl.DataSourceImpl"/>
</components>
---------------------------------------------

以下Exceptionの詳細トレースです。
---------------------------------------------
2009-04-01 11:54:31,609 ERROR (ApplicationContext.java:676) -
StandardWrapper.Throwable
org.seasar.framework.beans.PropertyNotFoundRuntimeException: [ESSR0065]クラ
ス(org.seasar.extension.dbcp.impl.ConnectionPoolImpl)のプロパティ
(validationQuery)が見つかりません
	at
org.seasar.framework.beans.impl.BeanDescImpl.getPropertyDesc(BeanDescImpl.ja
va:132)
	at
org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTy
pePropertyDef.java:48)
	at
org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTy
pePropertyDef.java:41)
	at
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
PropertyAssembler.java:55)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(
SingletonComponentDeployer.java:68)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(Si
ngletonComponentDeployer.java:48)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.init(Sing
letonComponentDeployer.java:76)
	at
org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.j
ava:236)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:563)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(Sing
letonS2ContainerFactory.java:150)
	at
org.seasar.framework.container.servlet.SingletonS2ContainerInitializer.initi
alize(SingletonS2ContainerInitializer.java:55)
	at
org.seasar.framework.container.servlet.S2ContainerServlet.initializeContaine
r(S2ContainerServlet.java:139)
	at
org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerSe
rvlet.java:127)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11
39)
	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:7
60)
	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:1149)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.
java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.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(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-04-01 11:54:31,609 ERROR (StandardContext.java:3958) - サーブレット
/XXXXXXXX がload()例外を投げました
org.seasar.framework.beans.PropertyNotFoundRuntimeException: [ESSR0065]クラ
ス(org.seasar.extension.dbcp.impl.ConnectionPoolImpl)のプロパティ
(validationQuery)が見つかりません
	at
org.seasar.framework.beans.impl.BeanDescImpl.getPropertyDesc(BeanDescImpl.ja
va:132)
	at
org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTy
pePropertyDef.java:48)
	at
org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTy
pePropertyDef.java:41)
	at
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
PropertyAssembler.java:55)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(
SingletonComponentDeployer.java:68)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(Si
ngletonComponentDeployer.java:48)
	at
org.seasar.framework.container.deployer.SingletonComponentDeployer.init(Sing
letonComponentDeployer.java:76)
	at
org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.j
ava:236)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:563)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.jav
a:560)
	at
org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(Sing
letonS2ContainerFactory.java:150)
	at
org.seasar.framework.container.servlet.SingletonS2ContainerInitializer.initi
alize(SingletonS2ContainerInitializer.java:55)
	at
org.seasar.framework.container.servlet.S2ContainerServlet.initializeContaine
r(S2ContainerServlet.java:139)
	at
org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerSe
rvlet.java:127)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11
39)
	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:7
60)
	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:1149)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.
java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.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(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
---------------------------------------------

長文ですみませんが、何卒よろしくお願いします。

K.Yamada



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