Hi All,
I am working on a Jini/RIO based project which has
a Jini service that provides the ability to
transcode images from one format to another.
Everything works quite well but I am running up
against an issue with the way that the method
javax.imageio.metadata.IIOMetadata.getMetadataFormat
has been implemented when loading native metadata
formats. Specifically, it attempts to find classes
using the following:
Class cls =
Class.forName(formatClassName, true,
ClassLoader.getSystemClassLoader());
This results in a ClassNotFoundException which gets
wrapped into a IllegalStateException. If I make the
following call from my code, it finds the class fine:
Class cls =
Class.forName(formatClassName, true,
this.getClass().getClassLoader());
I believe this is because my class does have the desired
class available to it on it's classpath but when the
getMetadataFormat() method tries to load the class, it
gets a different class loader that doesn't have the class
in it's class path. Since I am doing this in a Jini/RIO
environment all of the classes needed are downloaded to
the service dynamically which doesn't fit well with
the issue at hand. Would this be considered a bug/limitation
or was this done intentionally? I suppose I could
write my own ClassLoader implementation and then set
the java.system.class.loader property to point to it but
was hoping there was a less painful/more elegant way to
solve the problem. I'd like to hear what others think
before I head the wrong direction.
Thanks,
Bill
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".