NOTE: DBCP v1.2.1 requires Pool v1.2, make sure you use the correct version!
DBCP 1.2.1 is a maintenance release to restore full JDK 1.3 compatibility.
The problem lies in the improper use of a JDK 1.4 method: java.lang.Boolean.valueOf(boolean)
This method was used in the defaultReadOnly property processing.
We recommend to upgrade to DBCP 1.2.1 to avoid this problem altogether.
If you use the defaultReadOnly property in a JRE <1.4, you will get the following error:
java.lang.NoSuchMethodError at org.apache.commons.dbcp.BasicDataSource.setDefaultReadOnly(BasicDataSource.java:75) at org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:162) at org.apache.commons.dbcp.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:144) at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:176)
The simple workaround is not to use this property. For example remove the following from the tomcat config.xml.
<parameter> <name>defaultReadOnly</name> <value>true</value> </parameter>