Page tree
Skip to end of metadata
Go to start of metadata

Apache Tomcat is an Application Server, otherwise known as a Web Container, developed by the Apache Software Foundation (ASF).

Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, providing an environment for Java code to run in cooperation with a web server, in addition it adds tools for configuration and management, which can also be configured by editing configuration files that are normally XML-formatted, and includes its own internal HTTP server.


Discovering Tomcat

BMC Atrium Discovery uses the ApacheFoundation.Tomcat.Tomcat pattern to discover the Tomcat instance, identify the home directory (catalina.home), identify the base directory (catalina.base), and determine the Tomcat version. The pattern extracts information from the Tomcat configuration files to create and populate a Tomcat SI and its attributes.

Extended Tomcat discovery is enabled by the activation of the Tomcat.ExtendedDiscovery.DiscoverTomcat pattern. This is activated by default in a new installation of BMC Atrium Discovery. In an upgraded appliance, it must be activated manually. The Tomcat.ExtendedDiscovery.DiscoverTomcat pattern triggers on the creation or update of a Tomcat SI. The Tomcat.ExtendedDiscovery.DiscoverTomcat pattern is fully described in Configipedia.

Creation of a "JDBC Resource" Detail node triggers the CreateJDBCToDatabaseSI pattern which searches the BMC Atrium Discovery model for an SI representing that database. If the database SI is found, the pattern creates relationships between the Tomcat Application Server SI and the nodes representing the database (see below). If the host that the database runs on has not been scanned, no further action is taken.

Creation of a "J2EEApplication" SoftwareComponent node does not trigger any additional operations.

See the Tomcat documentation for additional information about Tomcat datasources.

Requirements for a full discovery

For a full discovery of Tomcat, the database or databases that it is using, and the relationships between them, you need the following credentials:

Tomcat Discovery results

The following screen shows a successfully scanned Apache Tomcat instance.

This screen illustrates a successfully scanned Apache Tomcat instance.

The attributes section of the Tomcat SI contains sections for Components, and Details.

  • Components are the SoftwareComponent nodes representing J2EE applications on Tomcat.
  • Details are detail nodes representing resources on Tomcat. These may be application specific or globally defined. They may be one of the following:
    • Custom Resources: a custom resource can be any kind of JavaBean declared as a resource.
    • User Database Resource: the default Tomcat user management database.
    • Java Mail Resources
    • JDBC Resources


Improvements over extended discovery using JMX

Previously, extended Tomcat discovery required JMX configuration to ensure that JMX could permit local and remote monitoring. Additionally, discovery using JMX only permitted discovery of globally defined resources. Discovery using configuration files enables you to also discover application specific resources.

Clustered applications

Tomcat Cluster is modeled by BMC Discovery from v11.0 onward.


All Tomcat Applications SoftwareComponents, DatabaseDetails and JDBC resource Details configured for the clustered instance are automatically linked using Containment relationship to the related Tomcat Cluster SoftwareCluster Node.


"Workers" is a blanket term used to refer to both real Tomcat servers that will process requests, and virtual servers that are used to handle load balancing and monitoring.

 1) Worker - Tomcat instance that is waiting to execute servlets or any other content on behalf of some web server.

 2) Load Balancer Worker - a virtual worker that does not really communicate with Tomcat workers.  Instead it is responsible for the management of several "real" workers. The worker is supposed to be a load balancer if it's worker type is lb. In other words, rather than creating a separate apparatus to manage load balancing, it simply loads an additional virtual worker with load balancing functionality.

 3) Status worker - Tomcat Connectors has a special type of worker, the so-called status worker. The status worker does not forward requests to Tomcat instances. Instead it allows to retrieve status and configuration information at runtime, and furthermore to change many configuration items dynamically. The status worker is usually used together with load balancing workers. We do not model status worker.

  • No labels