Configuring Arbortext Publishing Engine > Preparing to Configure Arbortext Publishing Engine > Initialization Process > Arbortext PE Request Manager Startup
  
Arbortext PE Request Manager Startup
Like every Java Servlet, the Arbortext PE Request Manager provides three methods that are called by the Java servlet container in which it runs: init, service, and destroy.
The Arbortext PE Request Manager's init method is called by the Java servlet container, either when the container itself starts or when the container receives the first request for Arbortext Publishing Engine. During initialization, the Arbortext PE Request Manager will perform the following functions:
1. Locates and reads the e3config.xml configuration file and constructs an E3ConfigFile object containing defined elements, their attributes, and their parameters.
2. Creates the Arbortext Publishing Engine Request Context that provides initialization information to all the Arbortext Publishing Engine Java objects specified in the e3config.xml file.
3. Starts and initializes each Java object, using its parameters described in e3config.xml, such as request selector tests, cache managers, queue managers, request handlers, subprocess pools, and initializers. Generally speaking:
Each object described in e3config.xml must implement a supported Arbortext Publishing Engine Java interface with an init method.
The Arbortext Publishing Engine Request Context object is passed to each init method.
Objects are initialized in the order in which they appear in e3config.xml.
As each defined object is initialized, the Arbortext PE Request Manager adds knowledge about that object to its data structure, as acquired through the Arbortext Publishing Engine Request Context object.
After initialization, HTTP requests can be processed. The servlet container calls the Arbortext PE Request Manager's service method each time an HTTP request is received. The service method performs the following operations:
1. Passes the request to each Arbortext Publishing Engine Cache Manager, in the order they're defined in e3config.xml. If a cache manager has a cached response that can satisfy the request, the response is returned to the client and the service function returns.
2. Passes the request to each Arbortext Publishing Engine Queue Manager, in the order they're defined in e3config.xml. If a Queue Manager is willing to accept the request for processing later, the Queue Manager sets the response to be returned to the client and stores the request. Then the service function returns.
3. Passes the request to each Arbortext Publishing Engine Request Handler, in the order they're defined in e3config.xml. The Request Handler determines if it can process the request or if the request needs an Arbortext PE sub-process.
4. If the request requires an Arbortext PE sub-process, the Request Handler will pass it to each Arbortext PE sub-process pool, in the order they’re defined in e3config.xml until one can accept it for processing.