<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<document>
   <properties>
      <title>Release notes for Commons-DBCP 1.2.1</title>
      <author email="dev@commons.apache.org">Commons Documentation Team</author>
      <revision>$Id: release-notes-1.2.1.xml 560804 2007-07-29 20:14:22Z bayard $</revision>
   </properties>

   <body>
     <section name="Release notes for Commons-DBCP 1.2.1">
<p>
<b>NOTE:</b> DBCP v1.2.1 requires Pool v1.2, make sure you use the correct version!
</p>

<hr/>
<p>DBCP 1.2.1 is a maintenance release to restore full JDK 1.3 compatibility.</p>
<p>The problem lies in the improper use of a JDK 1.4 method: java.lang.Boolean.valueOf(boolean)</p>
<p>This method was used in the defaultReadOnly property processing.</p>
<p>We recommend to upgrade to DBCP 1.2.1 to avoid this problem altogether.</p>
<hr/>

<p>If you use the defaultReadOnly property in a JRE &lt;1.4, you will get the following error:
<source>
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)
</source>
</p>

<p>The simple workaround is not to use this property. For example remove the following from the tomcat config.xml.
<source><![CDATA[
<parameter>
    <name>defaultReadOnly</name>
    <value>true</value>
</parameter>
]]></source>
</p>

</section>
</body>
</document>

