System and method for enabling atomic class loading in an application server environment
First Claim
1. A method for atomically reloading class files in an application server environment, the method comprising:
- receiving information specifying a set of class files to be treated as a bundle;
a deployer manager deploying the set of class files, wherein said deploying comprises;
obtaining a programmatic lock;
copying each class file in the set to an appropriate runtime location;
releasing the programmatic lock;
a background task discovering and reloading each of the class files copied by the deployer manager.
4 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and method for enabling dynamic class reloading in the application server environment. Users may specify class versionability by specifying a list of explicitly versionable classes; and the application server(s) may execute a background task which operates periodically to check modified versionable classes, and cause the classes to be reloaded.
Administrators may specify a set of class files to be treated as a “bundle”. When the bundle is deployed, a deployer manager may obtain a lock, e.g. a semaphore, referred to as the “dirtyClassListLock”. Once this lock is obtained, the deployer manager may copy all the class files in the bundle from a deployment environment to their appropriate runtime locations. After the runtime locations have been updated, the deployer manager may release the dirtyClassListLock. According to this method, the background task that checks for and reloads modified classes may also have to obtain the dirtyClassListLock in order to run. Thus, the background task will discover and reload class files in the bundle atomically.
-
Citations
27 Claims
-
1. A method for atomically reloading class files in an application server environment, the method comprising:
-
receiving information specifying a set of class files to be treated as a bundle;
a deployer manager deploying the set of class files, wherein said deploying comprises;
obtaining a programmatic lock;
copying each class file in the set to an appropriate runtime location;
releasing the programmatic lock;
a background task discovering and reloading each of the class files copied by the deployer manager. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
an application server including a CPU, memory, and file system;
a deployer manager stored in the memory of the application server, wherein the deployer manager is executable to deploy a set of class files, wherein said deploying comprises;
obtaining a programmatic lock;
copying each class file in the set to an appropriate runtime location in the file system of the application server;
releasing the programmatic lock;
a background task stored in the memory of the application server, wherein the background task is operable to discover and reload each of the class files copied by the deployer manager. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A memory medium comprising program instructions operable to implement:
-
receiving information specifying a set of class files to be treated as a bundle;
a deployer manager deploying the set of class files, wherein said deploying comprises;
obtaining a programmatic lock;
copying each class file in the set to an appropriate runtime location in an application server file system;
releasing the programmatic lock;
a background task discovering and reloading each of the class files copied by the deployer manager. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification