Filed under: howto
I changed my default java to java 6(from java 5), and what do I find : My build is broken! Why ?
1) xxxxStatement is not abstract and does not override abstract method isPoolable() in java.sql.Statement
2) xxxxxxStatement is not abstract and does not override abstract method setNClob(int,java.io.Reader) in java.sql.PreparedStatement
Sun’s new jdbc 4.0 introduces new methods to Statment, PreparedStatement among others.
So, a lot of projects having their own ConnectionPools and connection leakage detectors will have problems with the new JDK. Not sure if sun thought about it ? When we upgraded from java 1.4.2 to java 1.5, we had to fix a bunch of code to get it working in the new compiler but java 6 was advertised as no hassle upgrade!
What happens when we run pre-built java(say java 1.4.2 or java 1.5) programs using JDK 6 ?