# About Application Module Pooling Classes

If you are writing a custom servlet, you need to use a few classes to use application module pooling. Application module pooling is controlled by classes in the `oracle.jbo.common.ampool` package. Two of the most noteworthy classes in the package are `ApplicationPoolImpl` and `PoolMgr`. The class `JSPApplicationRegistry` in the `oracle.jbo.html.jsp` package, provide the functionality to instantiate an application module, enable Data Web Beans to use the application module pool, and to create new pools.

### ApplicationPoolImpl Class

The `ApplicationPoolImpl` class provides a default implementation of pooling. It provides methods to administer individual instances such as checking instances in and out of the pool, and getting, creating, and releasing instances. Extend this class and override the methods you need to create your own implementation of application module pooling.

### PoolMgr Class

The `PoolMgr` (pool manager) class manages the application module instance pool and provides methods for creating and removing the pool. Creating a pool also registers it with `PoolMgr`. The class also provides a method to let you enumerate through all of the registered pools.

### JSPApplicationRegistry Class

This class provides the main interface that enables the web application framework to use the application module pool. It contains methods that use the information contained in the JSP Application properties file to create a new pool.

Related topics
Pooling Application Modules
About Application Module Pooling