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 iAS 6.0 Java class loader.

Some iAS components, namely servlets and JSPs, can be dynamically reloaded into the server while it is running. This allows you to make changes to your application without restarting. You can also change some attributes in application or servlet configuration files, namely those that are not uploaded to the registry and those that do not change the session information.

Additionally, you can instruct iAS to make other classes dynamically reloadable by changing values in the iAS registry.

Note Enterprise JavaBeans (EJBs) are not dynamically reloadable. If you make a change to an EJB, you must restart the server in order to effect the change.

This appendix contains the following sections:



How Dynamic Reloading Works

By default, you can make changes to servlets or JSPs while iAS is running, and iAS notices the change within 10 seconds and instantiates the new component. EJBs can not be reloaded dynamically.

You can change the duration before iAS notices the change by editing the registry entry SYSTEM_JAVA\GX_TASKMANAGER_PERIOD.

You can make individual classes other than servlets and JSPs dynamically reloadable by entering the class name into a semicolon-separated list in the registry entry SYSTEM_JAVA\GX_VERSIONABLE. By default, all servlets and JSPs are reloadable.

You can make a set of classes dynamically reloadable depending on whether they implement a certain interface by entering the interface name into the registry entry SYSTEM_JAVA\GX_VERSIONABLE_IF_IMPLEMENTS. By the same token, you can make all classes that extend a certain class dynamically reloadable by entering the superclass name into the iAS registry entry SYSTEM_JAVA\GX_VERSIONABLE_IF_EXTENDS.

Finally, you can make all classes (other than EJBs) dynamically reloadable by setting the iAS registry entry GX_ALL_VERSIONABLE to 1 (the default is 0). This setting is normally used for backward compatibility with older versions of iAS.

If you start iAS from the command line, you can turn off dynamic reloading completely by using the -d option.



Summary of Related Registry Entries



The following registry entries control how dynamic reloading works in iAS. Note that these entries are not relevant if the server is started with the -d option.

Note iAS does not support dynamic reloading of EJBs.


Table B-1 Registry Entries

Registry Entry

Default Value

Description

GX_TASKMANAGER_PERIOD  

10  

The maximum number of seconds before iAS notices that a class has been changed.  

GX_ALL_VERSIONABLE  

0  

Set to 1 to indicate that all classes (except EJBs) are dynamically reloadable. This is normally used for backward compatibility with older versions of iAS.  

GX_VERSIONABLE  

null  

Semicolon-separated list of classes that are explicitly reloadable.  

For example, the default value for SYSTEM_JAVA\GX_VERSIONABLE_IF_IMPLEMENTS includes the classes for generic servlets and HTTP servlets, which makes all servlets and JSPs reloadable. You could add com.kivasoft.applogic.AppLogic to this registry entry to make all AppLogics reloadable as well.


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

Last Updated June 25, 2000