Previous     Contents     Index     DocHome     Next     
iPlanet Application Server Programmer's Guide (Java)



Appendix B       Dynamic Reloading


This appendix describes dynamic loading issues relating to the iPlanet Application Server Java class loader. Some iPlanet Application Server components, namely servlets and JSPs, can be dynamically reloaded while the server is running. This allows application changes without restarting. Also updated are changes to some application attributes or servlet configuration files, namely those that are not uploaded to the registry and those that do not change the session information.

Additionally, you instruct the iPlanet Application Server to make other classes dynamically reloadable by changing values in the iPlanet Application Server registry.



Note EJBs are not dynamically reloadable. If you make a change to an EJB, the server must be restarted in order to effect the change.



This appendix contains the following sections:



How Dynamic Reloading Works

Dynamic reloading is inbuild to the server for JSPs. Changes made to JSPs while the iPlanet Application Server is running are picked up the next time a request arrives for that JSP. For all other components that need to be reloaded dynamically, such as servlets, the feature can be turned on and off. EJBs cannot be reloaded dynamically.

You can make individual classes dynamically reloadable by entering the class name into a semicolon-separated registry entry list SYSTEM_JAVA\Versioning\GX_VERSIONABLE.

You can make a set of classes dynamically reloadable based on whether they implement a certain interface by entering the interface name into the registry entry SYSTEM_JAVA\Versioning\GX_VERSIONABLE_IF_IMPLEMENTS. Likewise, you can make all classes that extend a certain class dynamically reloadable by entering the superclass name into the iPlanet Application Server registry entry SYSTEM_JAVA\Versioning\GX_VERSIONABLE_IF_EXTENDS.

Finally, you can make all classes dynamically reloadable by setting the iPlanet Application Server registry entry SYSTEM_JAVA\Versioning\GX_ALL_VERSIONABLE to 1 (the default is 0). This setting is normally used for backward compatibility with older iPlanet Application Server versions and is not recommended for use with J2EE applications.

Dynamic reloading for all classes (other than JSPs) can be turned on or off using the registry entry SYSTEM_JAVA\Versioning\Disable. By default it is set to 1 indicating that dynamic relading is disabled. A value of 0 should be used to turn it on.



Related Registry Entries Summary



Table B-1 shows the registry entries under SYSTEM_JAVA\Versioning that control how dynamic reloading works in the iPlanet Application Server. The iPlanet Application Server does not support dynamic reloading of EJBs.


Table B-1    Registry Entries  

Registry Entry

Default Value

Description

Disable  

1  

Disable dynamic reloading. Set to 1 indicates dynamic reloading is disabled. A value of 0 enables dynamic reloading.  

GX_TASKMANAGER_PERIOD  

10  

The maximum number of seconds before the iPlanet Application Server notices that a class has been changed.  

GX_ALL_VERSIONABLE  

0  

Set to 1 indicates all classes are dynamically reloadable. Normally used for backward compatibility with older iPlanet Application Server versions.  

GX_VERSIONABLE  

null  

Semicolon-separated classes list that are explicitly reloadable.  

GX_VERSIONABLE_IF_IMPLEMENTS  

javax.servlet.Servlet  

Classes implementing one of the interfaces in this list become dynamically reloadable.  

GX_VERSIONABLE_IF_EXTENDS  

javax.servlet.GenericServlet;javax.servlet.http.HttpServlet  

Classes extending one of the classes in this list become dynamically reloadable  


Previous     Contents     Index     DocHome     Next     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated January 25, 2001