Application Engine

Application engines will be serialized and de-serialized as part of load balancing and fail over. As much as possible, attributes of the application object should be transient. For example, the instance variable that holds the ApplicationSpecification is transient; if needed (after de-serialization), the engine can locate the specification from its servlet (the servlet reads the application specification once, when it is first initialized).

This is largely not an issue, since most applications use a provided class, such as SimpleEngine. Subclassing is only necessary when the application needs a different method of instantiating the visit object, or needs to store additional data (see Operating Stateless). In some cases, it is convienient to create a subclass to provide common component listener methods.