System and method for classloading in a multitenant application server environment
First Claim
1. A system for classloading in a multitenant application server environment, comprising:
- one or more computers, each including a microprocessor;
an application server environment executing on the one or more computers, wherein the application server environment includes an application server instance, wherein the application server instance includes and operates according to a domain configuration that is used at runtime to define a domain of the application server instance;
a first partition and a second partition defined within the domain of the application server instance, wherein the first partition represents a first runtime and administrative subdivision of the domain, and wherein the second partition represents a second runtime and administrative subdivision of the domain;
an application deployed to the domain as a resource of the domain, wherein the application is configured with code that is shareable by the first partition and the second partition;
a first instance of the application, and a second instance of the application, wherein the first instance of the application is deployed to the first partition and the second instance of the application is deployed to the second partition, anda class loader hierarchy that includes;
a class loader structure that loads server classes of the application,a first partition class loader that loads a first instance of a first class such that the first instance of the first class is only visible to the first partition,a second partition class loader that loads a second instance of the first class such that the second instance of the first class is only visible to the second partition, anda shared application class loader that loads the shareable code of the application, wherein the loaded shareable code is accessible to the first instance of the application deployed to the first partition and the second instance of the application deployed to the second partition.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with an embodiment, described herein is a system and method for classloading in a multitenant application server environment. The system includes a domain with a plurality of partitions, and a resource group template including one or more applications, each configured with code shareable across the plurality of partitions. A class loader hierarchy can be created for each application instance in a partition, wherein the class loader hierarchy includes a class loader structure for that application instance, a partition class loader for the partition, and a shared application class loader for all instances of that application. At runtime, the class loader structure for an application instance can use the partition class loader as a parent class loader to load classes visible to the partition, and use the shared application class loader as an alternative parent class loader.
-
Citations
20 Claims
-
1. A system for classloading in a multitenant application server environment, comprising:
-
one or more computers, each including a microprocessor; an application server environment executing on the one or more computers, wherein the application server environment includes an application server instance, wherein the application server instance includes and operates according to a domain configuration that is used at runtime to define a domain of the application server instance; a first partition and a second partition defined within the domain of the application server instance, wherein the first partition represents a first runtime and administrative subdivision of the domain, and wherein the second partition represents a second runtime and administrative subdivision of the domain; an application deployed to the domain as a resource of the domain, wherein the application is configured with code that is shareable by the first partition and the second partition; a first instance of the application, and a second instance of the application, wherein the first instance of the application is deployed to the first partition and the second instance of the application is deployed to the second partition, and a class loader hierarchy that includes; a class loader structure that loads server classes of the application, a first partition class loader that loads a first instance of a first class such that the first instance of the first class is only visible to the first partition, a second partition class loader that loads a second instance of the first class such that the second instance of the first class is only visible to the second partition, and a shared application class loader that loads the shareable code of the application, wherein the loaded shareable code is accessible to the first instance of the application deployed to the first partition and the second instance of the application deployed to the second partition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for providing a partition classloader in a multitenant application server environment, comprising:
-
providing an application server environment executing on one or more computers, wherein the application server environment includes an application server instance, wherein the application server instance includes and operates according to a domain configuration that is used at runtime to define a domain of the application server instance; providing a first partition and a second partition defined within the domain of the application server instance, wherein the first partition represents a runtime and administrative subdivision of the domain, and wherein the second partition represents a second runtime and administrative subdivision of the domain; deploying an application to the domain as a resource of the domain, wherein the application is configured with code that is shareable by the first partition and the second partition; deploying a first instance of the application to the first partition, and deploying a second instance of the application to the second partition, and providing a class loader hierarchy that includes; a class loader structure that loads server classes of the application, a first partition class loader that loads a first instance of a first class such that the first instance of the first class is only visible to the first partition, a second partition class loader that loads a second instance of the first class such that the second instance of the first class is only visible to the second partition, and a shared application class loader that loads the shareable code of the application, wherein the loaded shareable code is accessible to the first instance of the application deployed to the first partition and the second instance of the application deployed to the second partition. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform the steps comprising:
-
providing an application server environment executing on one or more computers, wherein the application server environment includes an application server instance, wherein the application server instance includes and operates according to a domain configuration that is used at runtime to define a domain of the application server instance; providing a first partition and a second partition defined within the domain of the application server instance, wherein the first partition represents a runtime and administrative subdivision of the domain, and wherein the second partition represents a second runtime and administrative subdivision of the domain; deploying an application to the domain as a resource of the domain, wherein the application is configured with code that is shareable by the first partition and the second partition; deploying a first instance of the application to the first partition, and deploying a second instance of the application to the second partition, and providing a class loader hierarchy that includes; a class loader structure that loads server classes of the application, a first partition class loader that loads a first instance of a first class such that the first instance of the first class is only visible to the first partition, a second partition class loader that loads a second instance of the first class such that the second instance of the first class is only visible to the second partition, and a shared application class loader that loads the shareable code of the application, wherein the loaded shareable code is accessible to the first instance of the application deployed to the first partition and the second instance of the application deployed to the second partition. - View Dependent Claims (20)
-
Specification