Discussion
Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic-loading is typically achieved by calling the forName method on the class java.lang.Class; however, when Class.forName is called from within an Extension, strange errors can occur. This paper describes why those errors occur, and how Java2 provides a facility, called the "Thread context ClassLoader", to avoid them.