[jboss-dev] Re: Classloading Gotcha in JDK6
Jason T. Greene
jason.greene at redhat.com
Wed Jun 13 18:45:23 EDT 2007
Ah yes, It would have been nice if that was included in the
compatibility section of the release notes. There is a good description
of their reasons in the evaluation section here:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4976356
-Jason
On Wed, 2007-06-13 at 16:19 -0600, Andrig T Miller wrote:
> Jason,
> There was a bug raised on this with Sun, and it is as follows:
>
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434149
>
> They are actually not going to fix this, but instead want you to use what you describe below. We will have to change our code accordingly in AS 5 and anywhere else for that matter to support JDK 6.
>
> Andy
>
> On Wed, 2007-06-13 at 17:12 -0500, Jason T. Greene wrote:
> > FYI,
> >
> > There is an undocumented system property (besides the jvm source) in JDK
> > 5 and 6 called "sun.lang.ClassLoader.allowArraySyntax". The default
> > changed from true to false in JDK6. So what this means is that in JDK6,
> > unless you set that property to true, if you try and load a Java array
> > type using a classloader (e.g. "[[B") you will get a CNFE.
> >
> > The compatible solution is to either interpret array types directly (not
> > hard), or to use the extended form of Class.forName(), which does
> > understand the array syntax:
> >
> > Class clazz = Class.forName(className, false, loader);
> >
> > http://jira.jboss.com/jira/browse/JBCOMMON-25
> >
> Andrig (Andy) Miller
> VP of Engineering
> JBoss, a division of Red Hat
>
>
--
Jason T. Greene
Lead, POJO Cache
JBoss, a division of Red Hat
More information about the jboss-development
mailing list