System and method for enabling dynamic modifed class reloading in an application server environment
First Claim
1. A method for dynamically reloading classes in an application server environment for an application server, the method comprising:
- performing dynamic class reloading while the application server is running without restarting the application server, wherein the dynamic class reloading comprises;
a thread running in the application server environment periodically waking up at intervals;
the thread determining a list of versionable classes, wherein said list of versionable classes comprises a list of classes that should be dynamically reloaded when modified;
the thread determining that a class in the list of versionable classes has been modified since that class was loaded, wherein the thread only checks the classes listed on the list of versionable classes to perform said determining that a class in the list of versionable classes has been modified since that class was loaded; and
the thread reloading the class that was determined to have been modified.
4 Assignments
0 Petitions
Accused Products
Abstract
System and method for enabling dynamic class reloading in an application server environment. A distinction is made between “versionable” and “non-versionable” classes. Versionable classes are classes that should be automatically reloaded when they are modified. The application server(s) may execute a background task that executes periodically to check for modified versionable classes. Users may specify class versionability by specifying a list of explicitly versionable classes, specifying a list of superclasses whose extending classes should be considered to be versionable, and specifying a list of interfaces whose implementing classes should be considered to be versionable. Once the background task discovers a modified versionable class, the background task may cause the class to be reloaded, e.g., by instantiating a new classloader and instructing the new classloader to reload the class. The background task may purge the reloaded class from any caches that the application server maintains.
102 Citations
36 Claims
-
1. A method for dynamically reloading classes in an application server environment for an application server, the method comprising:
performing dynamic class reloading while the application server is running without restarting the application server, wherein the dynamic class reloading comprises; a thread running in the application server environment periodically waking up at intervals; the thread determining a list of versionable classes, wherein said list of versionable classes comprises a list of classes that should be dynamically reloaded when modified; the thread determining that a class in the list of versionable classes has been modified since that class was loaded, wherein the thread only checks the classes listed on the list of versionable classes to perform said determining that a class in the list of versionable classes has been modified since that class was loaded; and the thread reloading the class that was determined to have been modified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A system supporting a networked application, the system comprising:
-
an application server computer system including a CPU and memory; executable code stored in the memory of the application server computer system, wherein the executable code implements an application server and further implements dynamic class reloading while the application server is running without restarting the application server, wherein the dynamic class reloading comprises a thread that periodically wakes up at intervals; wherein the thread is executable to determine a list of versionable classes, wherein said list of versionable classes comprises a list of classes that should be dynamically reloaded when modified; wherein the thread is executable to determine that a class in the list of versionable classes has been modified since that class was loaded, wherein the thread only checks the classes listed on the list of versionable classes to determine that a class in the list of versionable classes has been modified since that class was loaded; and wherein the thread is executable to reload the class that was determined to have been modified. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-readable storage medium storing program instructions, which when executed:
-
perform dynamic class reloading while an application server is running without restarting the application server, wherein the dynamic class reloading is operable to; cause a thread to periodically wake up at intervals; wherein the thread is executable to determine a list of versionable classes, wherein said list of versionable classes comprises a list of classes that should be dynamically reloaded when modified; wherein the thread is executable to determine that a class in the list of versionable classes has been modified since that class was loaded, wherein the thread only checks the classes listed on the list of versionable classes to determine that a class in the list of versionable classes has been modified since that class was loaded; wherein the thread is executable to reload the class that was determined to have been modified. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification