SpringSource tc Server is a Web application server based on open-source Apache Tomcat that preserves the best of Tomcat, well trusted by developers, and then adds the mission-critical operational capabilities that system administrators require but are currently unavailable in the open-source product.
These mission-critical capabilities include:
The following sections provide an overview of the SpringSource tc Server features. If, however, you already familiar with Apache Tomcat and want to see a detailed comparison between SpringSource tc Server and Apache Tomcat, see Differences Between tc Server and Apache Tomcat.
Tomcat Enhancements
The tc Server application server is based on the open-source Apache Tomcat server with additional usability improvments such as:
- Improved out-of-the-box configuration of tc Server and the JVM installed with tc Server. This means that in the majority of cases, you can immediately start using tc Server right after you install it without having to perform any additional configuration.
- Starting a tc Server instance is now easier and more intuitive for both UNIX and Windows.
- A new configuration option enables high concurrency JDBC connection pool.
- Ability to push configuration files to any local or remote location using command line utilities and to locally tune standard configuration files using catalina.properties.
Easy Configuration and Monitoring with SpringSource AMS
SpringSource Application Management Suite (AMS) is a comprehensive enterprise application management tool. It is designed to manage and monitor all instances of tc Server running on any computer, as well as all of your Spring-powered applications, and a variety of other non-SpringSource platforms and application servers such as Apache Tomcat. SpringSource AMS provides a single console with powerful dashboards that allow you to easily check the health of your applications. With SpringSource AMS, you can:
- Manage the lifecycle of tc Server instances by starting, stopping, and restarting a local or remote server instance.
- Similarly manage the lifecycle of a group of tc Server instances that are distributed over a network of computers.
- Configure a single instance of tc Server. Configuration options include the various port numbers to which tc Server listens, JVM options such as heap size and enabling debugging, default server values for JSPs and static content, JDBC datasources, various tc Server connectors, and so on.
- Deploy a Web application from an accessible file system, either local or remote. You can deploy to both a single tc Server instance or to a pre-defined group of servers.
- Manage the lifecycle of applications deployed to a single tc Server or group of servers. Application lifecycle operations include start, stop, redeploy, undeploy, and reload.
All of the preceding tc Server-specific SpringSource AMS tasks are in addition to the standard AMS tasks :
- Inventory the resources on your network.
- Monitor those resources.
- Alert on problems with those resources. AMS includes a pre-configured alert for deadlock detection in a running tc Server instance.
- Control those resources.
Enhanced Diagnostics
SpringSource tc Server includes a full set of diagnostic features that makes it easy for you to troubleshoot any problems that might occur with tc Server or the applications that you deploy to tc Server. These diagnostic features include:
- Deadlock detection: SpringSource tc Server automatically detects if a thread deadlock occurs in tc Server or an application deployed to tc Server.
- Server dumps: In the event that a tc Server instance fails, the server automatically generates a snapshot of its state and dumps it to a file so that support engineers can recreate the exact state when diagnosing the problem.
- Thread diagnostics: When you deploy and start a Web application on tc Server, and then clients begin connecting and using the application, you might find that the clients occasionally run into problems such as slow or failed requests. Although by default, tc Server logs these errors in the log files, it is often difficult to pinpoint where exactly the error came from and how to go about fixing it. By enabling thread diagnostics, tc Server provides additional information to help you troubleshoot the problem.
- Time in Garbage Collection:: AMS has a new metric that represents the percentage of process up time (0 -100) in which tc Server has spent in garbage collection.
- Tomcat JDBC DataSource monitoring: AMS includes a new service that represents the high-concurrency Tomcat JDBC datasources you have configured for your tc Server instance. This service monitors the health of the datasource, such as whether its connection to the database has failed or was abandoned, and whether the JDBC queries that clients execute are taking too long.
For most of the preceding diagnostics features, the AMS component of tc Server includes one or more pre-configured alerts which make it easy for you to monitor the tc Server instance, as well as manage the various thresholds at which an alert is triggered. For additional information about these diagnostic features, and information about managing the associated AMS alerts, see tc Server Administration Guide, and click Managing tc Server-Related AMS Alerts in the left frame.
tc Server Command-Line Interface
SpringSource tc Server provides a command-line interface (CLI) called tcsadmin that you can use to perform a subset of tc Server configuration and application deployment tasks. You can use the CLI to configure and manage both single tc Server instances or groups of tc Servers.
Some of the tasks you can perform using tcsadmin include:
- List servers, groups, and deployed applications.
- Deploy applications
- Configure tc Server instances and groups
- Control tc Server instances and groups