<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
	>
<channel>
	<title>Comments on: Java 6 breaks JDBC</title>
	<atom:link href="http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/</link>
	<description>Frank Carver&#039;s musings about software and life</description>
	<lastBuildDate>Sun, 22 Jan 2012 22:15:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Malcolm McRoberts</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-2229</link>
		<dc:creator>Malcolm McRoberts</dc:creator>
		<pubDate>Tue, 16 Jun 2009 12:56:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-2229</guid>
		<description>I&#039;m also pissed by this change.  Not many folks have the luxury to leave in a pure environment where versions aren&#039;t mixed.  Anybody tried the stub library for the new types?  I&#039;m being forced to do a lot of busywork here that doesn&#039;t contribute to the functionality I&#039;m trying to build.

I&#039;ll look at the dynamic proxy mechanism, but unless something&#039;s going to generate the code for me, it looks like a ton of overhead and code to write.

Is there a way to do a mixed version that&#039;s normal static methods for the common operations, and a dynamic proxy for the extensions?</description>
		<content:encoded><![CDATA[<p>I&#8217;m also pissed by this change.  Not many folks have the luxury to leave in a pure environment where versions aren&#8217;t mixed.  Anybody tried the stub library for the new types?  I&#8217;m being forced to do a lot of busywork here that doesn&#8217;t contribute to the functionality I&#8217;m trying to build.</p>
<p>I&#8217;ll look at the dynamic proxy mechanism, but unless something&#8217;s going to generate the code for me, it looks like a ton of overhead and code to write.</p>
<p>Is there a way to do a mixed version that&#8217;s normal static methods for the common operations, and a dynamic proxy for the extensions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir Nesterovsky</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-593</link>
		<dc:creator>Vladimir Nesterovsky</dc:creator>
		<pubDate>Sun, 12 Oct 2008 13:22:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-593</guid>
		<description>Isn&#039;t it possible to create a small jar with missing types. You won&#039;t probably need to deploy it, or if you will then for old runtime only.</description>
		<content:encoded><![CDATA[<p>Isn&#8217;t it possible to create a small jar with missing types. You won&#8217;t probably need to deploy it, or if you will then for old runtime only.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Heinz Kabutz</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-356</link>
		<dc:creator>Heinz Kabutz</dc:creator>
		<pubDate>Tue, 30 Sep 2008 17:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-356</guid>
		<description>Dynamic Proxies might be of help here.  I have not done it, but you might be able to generate classes dynamically that implement the published interface without actually writing the code.  This way you could be compatible with whatever version of JDK / JDBC you are using.</description>
		<content:encoded><![CDATA[<p>Dynamic Proxies might be of help here.  I have not done it, but you might be able to generate classes dynamically that implement the published interface without actually writing the code.  This way you could be compatible with whatever version of JDK / JDBC you are using.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: henk</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-245</link>
		<dc:creator>henk</dc:creator>
		<pubDate>Thu, 25 Sep 2008 12:37:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-245</guid>
		<description>@Frank

I hear you and maybe I am living in a different world, but what we always do is update everything early, so we never have giants leaps to take. When we were on Java 5 for example, we did not upgrade any of the libraries we were depending on to versions that were released after Java 6 was released. After about half a year after Java 6 was released, we started a test procedure to see if our own code could run on it and if all libraries we were using were compatible with it. Backwards compatibility appeared to be really great. After some extensive tests, everything appeared to work and believe me, we are using LOTS of 3rd party libraries.

After the upgrade to Java 6, we started upgrading our libraries to the latest versions, piece by piece. Everything kept working. That&#039;s why I don&#039;t really see the problem. Of course, sometimes there really are backwards compatibility problems. JBoss 4.2 comes to mind. 

It really seems to me though that some people have the idea that upgrading the JVM is &#039;evil&#039; or &#039;dangerous&#039;, but upgrading major libraries can always be done. I don&#039;t really agree with that line of reasoning. If you don&#039;t want to upgrade your VM, why would you want to upgrade to the very latest version of something huge like e.g. Hibernate?</description>
		<content:encoded><![CDATA[<p>@Frank</p>
<p>I hear you and maybe I am living in a different world, but what we always do is update everything early, so we never have giants leaps to take. When we were on Java 5 for example, we did not upgrade any of the libraries we were depending on to versions that were released after Java 6 was released. After about half a year after Java 6 was released, we started a test procedure to see if our own code could run on it and if all libraries we were using were compatible with it. Backwards compatibility appeared to be really great. After some extensive tests, everything appeared to work and believe me, we are using LOTS of 3rd party libraries.</p>
<p>After the upgrade to Java 6, we started upgrading our libraries to the latest versions, piece by piece. Everything kept working. That&#8217;s why I don&#8217;t really see the problem. Of course, sometimes there really are backwards compatibility problems. JBoss 4.2 comes to mind. </p>
<p>It really seems to me though that some people have the idea that upgrading the JVM is &#8216;evil&#8217; or &#8216;dangerous&#8217;, but upgrading major libraries can always be done. I don&#8217;t really agree with that line of reasoning. If you don&#8217;t want to upgrade your VM, why would you want to upgrade to the very latest version of something huge like e.g. Hibernate?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PaulK</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-233</link>
		<dc:creator>PaulK</dc:creator>
		<pubDate>Wed, 24 Sep 2008 22:32:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-233</guid>
		<description>Groovy solves this using the Proxy technique similar to that described by Geert. It was the only way to make Groovy DataSets seamlessly work across 1.4, 5 and 6. You can check out the source code if you want some ideas.</description>
		<content:encoded><![CDATA[<p>Groovy solves this using the Proxy technique similar to that described by Geert. It was the only way to make Groovy DataSets seamlessly work across 1.4, 5 and 6. You can check out the source code if you want some ideas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kelly</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-230</link>
		<dc:creator>Kelly</dc:creator>
		<pubDate>Wed, 24 Sep 2008 18:50:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-230</guid>
		<description>If you&#039;re doing something like making a Connector wrapper or decorator, you can use dynamic proxies to create code that overrides the methods you care about and compiles on all three versions.

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html</description>
		<content:encoded><![CDATA[<p>If you&#8217;re doing something like making a Connector wrapper or decorator, you can use dynamic proxies to create code that overrides the methods you care about and compiles on all three versions.</p>
<p><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html" rel="nofollow">http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-228</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Wed, 24 Sep 2008 15:46:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-228</guid>
		<description>@henk
If it were just a compatibility problem between Java 1.4 and Java 6, I could go with your reasoning. 

However, in this case the problem is between Java 5 and Java 6. And if you think that everyone has already upgraded all of their source code from working with Java 5 to requiring Java 6 then you are living in a very different world to me.

If the new types (NClob and so on) had been introduced in Java 5, then the JDBC interfaces changed to use them in Java 6, I would be happy. But introducing both at the same time in Java 6 leads inevitably to the problems I describe above.</description>
		<content:encoded><![CDATA[<p>@henk<br />
If it were just a compatibility problem between Java 1.4 and Java 6, I could go with your reasoning. </p>
<p>However, in this case the problem is between Java 5 and Java 6. And if you think that everyone has already upgraded all of their source code from working with Java 5 to requiring Java 6 then you are living in a very different world to me.</p>
<p>If the new types (NClob and so on) had been introduced in Java 5, then the JDBC interfaces changed to use them in Java 6, I would be happy. But introducing both at the same time in Java 6 leads inevitably to the problems I describe above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: henk</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-226</link>
		<dc:creator>henk</dc:creator>
		<pubDate>Wed, 24 Sep 2008 14:51:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-226</guid>
		<description>I don&#039;t understand your problem. People who want to keep using an ancient version of Java, will probably also want to use ancient versions of the libraries they&#039;re using.

Why should the latest release of some library still be compatible with something as old as Java 1.4? Do you honestly think people who still run Java 1.4 will upgrade -anything-?

Most likely they will just be using the versions of all libraries that were current when Java 1.4 was still new and shiny.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t understand your problem. People who want to keep using an ancient version of Java, will probably also want to use ancient versions of the libraries they&#8217;re using.</p>
<p>Why should the latest release of some library still be compatible with something as old as Java 1.4? Do you honestly think people who still run Java 1.4 will upgrade -anything-?</p>
<p>Most likely they will just be using the versions of all libraries that were current when Java 1.4 was still new and shiny.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-221</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Wed, 24 Sep 2008 09:46:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-221</guid>
		<description>@Geert Bevin
That&#039;s the kind of direction I was thinking of. 

The main problem is with managing the source code. I typically develop in Eclipse, which (AFAIK) only supports one Java version setting per project. This implies that in order to edit and compile these different variants I need to set up multiple Eclipse projects for a single final jar.

I guess it&#039;s doable, but certainly clumsy.</description>
		<content:encoded><![CDATA[<p>@Geert Bevin<br />
That&#8217;s the kind of direction I was thinking of. </p>
<p>The main problem is with managing the source code. I typically develop in Eclipse, which (AFAIK) only supports one Java version setting per project. This implies that in order to edit and compile these different variants I need to set up multiple Eclipse projects for a single final jar.</p>
<p>I guess it&#8217;s doable, but certainly clumsy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/comment-page-1/#comment-220</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Wed, 24 Sep 2008 09:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.punchbarrel.com/2008/09/23/java-6-breaks-jdbc/#comment-220</guid>
		<description>@Guy Korland
I&#039;d not heard of those. I&#039;ll definitely take a look. Thanks</description>
		<content:encoded><![CDATA[<p>@Guy Korland<br />
I&#8217;d not heard of those. I&#8217;ll definitely take a look. Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.454 seconds -->

