There are three more methods declared in Statement interface since version 1.6.
As I understand, this breaks one of the biggest java advantages – backward compatibility. My project just not compiled any more after transition from jdk 1.5 to jdk 1.6 and I have to change the code.
What is the reasoning of adding these three methods (isPoolable, setPoolable, isClosed) in such a bad way?
Added interface methods are a problem if you implement the interface e.g. you are writing your own JDBC driver. If you have a library which uses these method calling a library which doesn’t implement these methods you will get a NoSuchMethodError.
I assume these methods were added because for most use cases its considered harmless.