On Tue, Apr 29, 2008 at 5:08 PM, Randall R Schulz <[EMAIL PROTECTED]> wrote: > > Does the application use classloaders in interesting ways that might > > trip up the language implementation? > > My application does not, but the fact that its deployed in a servlet > container might make the answer a de facto "yes." I'm not sure.
I haven't programmed servlets in a long time, but I seem to remember that they use classloaders to isolate different components so that sharing of class libraries between components is limited to classes loaded by the framework. Code from one component must be executed using the appropriate classloader for that component, or you'll get class incompatibility errors (or more insidiously, class compatibility errors, where components that are supposed to be isolated interact through a class library's global state.) A language implementation that insists on using a single classloader for executing all code might not work in that environment, or it might force all users of the language to cooperate and share class libraries. At first glance, the classloader-level isolation provided by a servlet container (or other application framework) should enable you to load two completely independent instances of the same language implementation, each with its own base classloader, but I don't know if that holds true in the face of all the techniques used by JVM language implementors. If it doesn't hold true for a given language implementation, then the implementation violates a widespread assumption about how software components act on the Java platform, and it is unlikely to play well with existing Java application frameworks. -David --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
