Understanding Class.forName() - Java
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.
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.