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: [email protected]
Reporter: [email protected]
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: [email protected]
For additional commands, e-mail: [email protected]