Top Level Elements
The Engine Container
The Engine element represents the entire request
processing machinery associated with a particular Catalina
Service. It receives and processes
all requests from one or more Connectors,
and returns the completed response to the Connector for ultimate
transmission back to the client.
Exactly one Engine element MUST be nested inside
a Service element, following all of the
corresponding Connector elements associated with this Service.
All implementations of Engine
support the following attributes:
This value represents the delay in seconds between the
invocation of the backgroundProcess method on this engine and
its child containers, including all hosts and contexts.
Child containers will not be invoked if their delay value is not
negative (which would mean they are using their own processing
thread). Setting this to a positive value will cause
a thread to be spawn. After waiting the specified amount of time,
the thread will invoke the backgroundProcess method on this engine
and all its child containers. If not specified, the default value for
this attribute is 10, which represent a 10 seconds delay.
Java class name of the implementation to use. This class must
If not specified, the standard value (defined below) will be used.
The default host name, which identifies the
Host that will process requests directed
to host names on this server, but which are not configured in
this configuration file. This name MUST match the
attributes of one of the Host elements
nested immediately inside.
Identifier which must be used in load balancing scenarios to enable
session affinity. The identifier, which must be unique across all
Tomcat servers which participate in the cluster, will be appended to
the generated session identifier, therefore allowing the front end
proxy to always forward a particular session to the same Tomcat
Logical name of this Engine, used in log and error messages. When
using multiple Service elements in the same
Server, each Engine MUST be assigned a unique
The number of threads this Engine will use to start
child Host elements in parallel. The special
value of 0 will result in the value of
Runtime.getRuntime().availableProcessors() being used.
Negative values will result in
Runtime.getRuntime().availableProcessors() + value being
used unless this is less than 1 in which case 1 thread will be used. If
not specified, the default value of 1 will be used.
The standard implementation of Engine is
It supports the following additional attributes (in addition to the
common attributes listed above):
You can nest one or more Host elements inside
this Engine element, each representing a different virtual
host associated with this server. At least one Host
is required, and one of the nested Hosts MUST
have a name that matches the name specified for the
defaultHost attribute, listed above.
You can nest at most one instance of the following utility components
by nesting a corresponding element inside your Engine
- Realm -
Configure a realm that will allow its
database of users, and their associated roles, to be shared across all
Hosts and Contexts
nested inside this Engine, unless overridden by a
Realm configuration at a lower level.
An engine is associated with the
log category. Note that the brackets are actually part of the name,
don't omit them.