https://issues.apache.org/bugzilla/show_bug.cgi?id=54929

            Bug ID: 54929
           Summary: jdbc-pool cannot be used with Java 1.5,
                    "java.lang.NoClassDefFoundError:
                    java/sql/SQLFeatureNotSupportedException"
           Product: Tomcat Modules
           Version: unspecified
          Hardware: PC
                OS: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: jdbc-pool
          Assignee: dev@tomcat.apache.org
          Reporter: knst.koli...@gmail.com
    Classification: Unclassified

As reported via documentation comment,
[1] http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#comment_1210

The documentation [1] says:
"We build the JDBC pool code with 1.6, but it is backwards compatible down to
1.5 for runtime environment"

Current builds of jdbc-pool fail when one tries to use them with Java 1.5
because of "java.lang.NoClassDefFoundError:
java/sql/SQLFeatureNotSupportedException"

The java.sql.SQLFeatureNotSupportedException class is @since 1.6.

The broken class is org.apache.tomcat.jdbc.pool.DataSourceProxy that has the
following method:

    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
        throw new SQLFeatureNotSupportedException();
    }


This bug was introduced in r1302968 (13 months ago) when fixing bug 52493.


The alternative ways that I see to fix this:

a) Update documentation.
As [1] says, "For unit test, we use 1.6 and higher", so running with JDK 1.5 is
essentially untested.

Is there any interest in supporting JDK 1.5? This issue was unreported for more
than a year.

b) Use reflection to create an instance of SQLFeatureNotSupportedException
class.

c) Standard taglib currently "solved" this in r1453156 by throwing
UnsupportedOperationException instead.

That is an easy solution, but I would say that it is wrong, as the API expects
a SQLFeatureNotSupportedException here "if the data source does not use
<code>java.util.logging<code>."

http://docs.oracle.com/javase/7/docs/api/javax/sql/CommonDataSource.html#getParentLogger%28%29

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to