Publishing Engine Programmer's Guide > The Arbortext Publishing Engine Request Manager > Understanding the Internal Structure of Arbortext PE Request Manager > Initialization > Initializer Objects
  
Initializer Objects
Initializers are dynamically-loaded objects that perform initialization after all other Dynamic Components and all Arbortext PE sub-process pools have been initialized. Every initializer must implement the com.arbortext.e3.E3Initializer interface, which has a single required method init(context, descriptor). The context is the Arbortext Publishing Engine Request Context object and descriptor is a com.arbortext.e3cf descriptor containing the initializer's parameters obtained from e3config.xml.
Every initializer is defined in e3config.xml as either blocking (by setting deferred attribute to no) or deferred (by setting deferred attribute to yes). After starting the Arbortext PE sub-process pools, the Arbortext PE Request Manager loads and invokes the init method of every blocking initializer in the order specified in e3config.xml. Just before returning to the servlet container, the Arbortext PE Request Manager starts a background thread that loads and invokes each deferred initializer in the order specified in e3config.xml. You can circumvent this serial process by implementing a single initializer that starts any number of background threads, with each thread performing initialization tasks.