http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/RMIClassLoaderSpi.ht ml
Check out the jboss docs and you'll see that we have a "WebService" (not related to web services, I believe it predates the marketing term "Web Services"). Its a basic HTTP server which serves up classes. -Andy > From: Phillip Rhodes <[EMAIL PROTECTED]> > Reply-To: [EMAIL PROTECTED], "Research Triangle Java User's Group > mailing list."<[EMAIL PROTECTED]> > Date: Wed, 19 May 2004 11:30:19 -0400 > To: "Research Triangle Java User's Group mailing list." <[EMAIL PROTECTED]> > Subject: Re: [Juglist] Question: RMI, Serialization and Filters > > Michael Czeiszperger wrote: > > >> If you wanted to de-serialize a class for which no definition existed >> you'd have to serialize the class definition as well, and somehow >> dynamically use a class loader to make it available. This would quickly >> get fairly complicated compared to the basic scenario. > > They do it by annotating the serialized version in some fashion, > with information needed to use a URLClassLoader to load the > class from the other side. I've never actually used this feature, > so I don't know exactly how (or how well) it works, but that's the > gist of it. > > Here's a quick snippet of what the Java RMI book says about it: > > (page 428) > > In Chapter 10, while discussing how RMI customizes the serialization > algorithm, I said: > > ObjectOutputStream calls annotateClass() when it writes out > class descriptions. Annotations are used to provide extra > information > about a class that comes from the serialization mechanism and not > > from the class itself. The basic serialization mechanism has no > real need > for annotations, most of the information about a given class is > already stored in the stream... > > RMI on the other hand, uses annotations to record codebase > information. That is, RMI, in addition to recording the class > descriptions, also records information about the location from which > it loaded the class's bytecode. > > These paragraphs, which may have seemed opaque before, should now make > more sense. RMI's dynamic classloading is based on two ideas: > > If an object is serialized and sent over the wire, the required class > definitions might not be available on the other side. > > Automatically including URL's from which classes can be downloaded > inside serialized objects allows special-purpose classloaders, such > as the URLClassLoader, to automatically load classes from over the > wire when they're needed to deserialize an object. > > ****** END SNIPPET ************ > > HTH, IANAL, Standard Disclaimers Apply, etc., blah... > > TTYL, > > Phil > > > > _______________________________________________ > Juglist mailing list > [EMAIL PROTECTED] > http://trijug.org/mailman/listinfo/juglist_trijug.org _______________________________________________ Juglist mailing list [EMAIL PROTECTED] http://trijug.org/mailman/listinfo/juglist_trijug.org
