How to safely shut down Apache Tomcat
Safely shutting down the Tomcat web application server is critical to maintaining the integrity of the Legacy Content Delivery database.
Overview
Whenever you have to apply a patch set to the web application server, or to Legacy Content Delivery , you will have to shut down Tomcat. If the Tomcat shutdown is not done safely, the Legacy Content Delivery database may become corrupted. It may help to remove a Legacy Content Delivery server instance from the load balancer, too, as this will eliminate incoming user requests.
- a push from a distribution server is actively pushing a distribution profile, or a Content Distribution Server (CDS) is being updated from a distribution profile push.
- a push to an aggregation server is receiving xforms from clients, or any server is actively pushing xforms to the aggregation server.
- a prepare on a publication or language version from Legacy Content Delivery is in progress, a publish from Content Manager is in progress, or a publication delete is in progress (whether or not comments are deleted, too). See Log files.
- a backup or restore is in progress.
- Scheduled Legacy Content Delivery processes
- Process viewer
- Log files
- Automatic System Updates
Scheduled Legacy Content Delivery processes
Legacy Content Delivery can be configured to schedule various processes (aggregation, garbage collection, distribution pushes, database backups) at various times and intervals. Ensure that you know these processes and when they are scheduled. Examine the C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\LiveContent\WEB-INF\conf.xml file.
Process viewer
You should examine processing activity by clicking . You want to ensure that there is no, or low, CPU activity. The Tomcat process (or its associated Java process) should show little, or no, input and output read/write activity.Log files
You should examine log files to determine and predict user activity. Examine C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\localhost_access_log.nnn to determine and predict future activity, as well as who may be still logged in. Also examine tomcat7-err.nnn and tomcat7-out.nnn. If you determine Tomcat is still busy, then wait until activity has subsided.
For each process start, there should be a matching process end.
Upload starts with this message:
[Upload] Starting Upload type 'upload' for BrowseMaps-en at 15:19:50.105-04:00
- [Upload Resource] PUB=BrowseMaps-en type=upload bodyname= encoding= at 15:19:50.187-04:00
- [Upload Resource] FILENAME=asiamap.ditamap extension=ditamap mime_type=xml
- [Upload End] Finished Upload type 'upload' for BrowseMaps-en at 15:19:51.648-04:00
- [Upload End] Pub BrowseMaps-en is unlocked
- [Prepare] STEP=start_prepare forBrowseMaps-en' at 15:19:57.195-04:00
- [Prepare] Starting Prepare for BrowseMaps-en locked by 'prepare' at 15:19:57.252-04:00
- [Prepare] STEP=end_prepare forBrowseMaps-en' at 15:20:02.621-04:00
- [Prepare] Finishing Prepare for BrowseMaps-en at 15:20:02.655-04:00
- [Prepare] Unlocking BrowseMaps-en; was locked by 'prepare' locking state now ''
- [Prepare] Completed Prepare for BrowseMaps-en at 15:20:02.877-04:00
- [Prepare All Pubs]
- [Prepare Topic/Map]
Automatic system updates
Windows updates can be regularly scheduled by the user or by way of an IT policy. This sometimes leads to automatic system reboots. Restarting the system (and by extension restarting Tomcat) is not inherently dangerous unless the shutdown/restart activity does not wait for running processes to complete. This is generally an IT windows update policy setting, and you must ensure that the shutdown does not occur until Tomcat can stop properly. Failure to do so can lead to a corrupt Legacy Content Delivery database. Please consult your IT department for this setting.
Shutdown
Once you have determined that all is quiet, click (on Linux, enter the following in a terminal window: $tomcat/bin/shutdown.sh).