• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Junilu Lacar
  • Martin Vashko
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Scott Selikoff
  • salvin francis
  • Piet Souris

Upgrade tomcat from 7.0.34 to tomcat 7.0.96

 
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Because of an error being generated in 7.0.34
"Unable to process Jar entry [module-info.class] from Jar.../] for annotations"
We upgraded the tomcat to 7.0.96.
It appears that the newer version of tomcat scans all the jar files and reports errors that the TLD is not found.

It is taking a large amount of time to start up tomcat.
Version7.0.34  took 765,583ms to startup with all the apps deployed.
Version 7.0.96  took 1,953,913ms to startup with only a couple of the apps deployed.

I have tried making the following change in catalina.properties "org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar"
But this does not appear to work...

Does any one know how to speed up the startup of tomcat 7.0.96.
Because of our Apps, we are stuck with Java 7 and Tomcat 7.  Plans are in the works to correct this, but it is not a easy change.

Thanks in advance,
Steve Nelligan
University of Illinois
snelliga@illinois.edu




 
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm afraid that I cannot make any sense out of what you are saying. What TLD?

Tomcat itself is a very lightweight program, though. If you are seeing long startup times, it's almost inevariably not Tomcat, it's the startup code in one or more of the installed webapps. I once reduced a 20-minute startup to 6 seconds by simply NOT loading and entire database into memory when the webapp started.
 
Rancher
Posts: 3623
34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you copy the startup log and paste it here?  I just started my tomcat 8 and got a log file that was 170 lines long.
Here's my log with some blank lines and comments added:


D:\apache-tomcat-8.0.32\bin>"C:\Program Files\Java\jdk1.8.0_60\jre\bin\java.exe" -cp bootstrap.jar;tomcat-juli.jar org.apache.catalina.startup.Bootstrap start
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.32
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Feb 2 2016 19:34:53 UTC
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.32.0
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_60\jre
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_60-b27
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         D:\apache-tomcat-8.0.32
Nov 12, 2019 1:24:27 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         D:\apache-tomcat-8.0.32
Nov 12, 2019 1:24:27 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: Loaded APR based Apache Tomcat Native library 1.2.4 using APR version 1.5.1.
Nov 12, 2019 1:24:27 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Nov 12, 2019 1:24:27 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.2e 3 Dec 2015)
Nov 12, 2019 1:24:29 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Nov 12, 2019 1:24:29 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Nov 12, 2019 1:24:29 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 5373 ms
Nov 12, 2019 1:24:29 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 12, 2019 1:24:29 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.32

Nov 12, 2019 1:24:29 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive D:\apache-tomcat-8.0.32\webapps\quercus-4.0.39.war

Nov 12, 2019 1:24:30 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.                                 <<<<<<<<<??? <br />
Nov 12, 2019 1:24:32 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

Nov 12, 2019 1:24:33 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [391] milliseconds.
Nov 12, 2019 1:24:33 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive D:\apache-tomcat-8.0.32\webapps\quercus-4.0.39.war has finished in 3,366 ms

Nov 12, 2019 1:24:33 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\docs

Nov 12, 2019 1:24:33 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.

Nov 12, 2019 1:24:34 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:34 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\docs has finished in 719 ms

Nov 12, 2019 1:24:34 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\examples
Nov 12, 2019 1:24:34 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:36 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:36 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 12, 2019 1:24:36 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Nov 12, 2019 1:24:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\examples has finished in 2,578 ms

Nov 12, 2019 1:24:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\HIW
Nov 12, 2019 1:24:36 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:37 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\HIW has finished in 484 ms

Nov 12, 2019 1:24:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\host-manager
Nov 12, 2019 1:24:37 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:37 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\host-manager has finished in 609 ms

Nov 12, 2019 1:24:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\jsp-examples
Nov 12, 2019 1:24:37 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:39 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:39 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 12, 2019 1:24:39 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Nov 12, 2019 1:24:39 PM org.apache.tomcat.util.descriptor.web.SecurityConstraint findUncoveredHttpMethods
SEVERE: For security constraints with URL pattern [/security/protected/*] only the HTTP methods [DELETE POST GET PUT] are covered. All other methods are uncovered.
Nov 12, 2019 1:24:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\jsp-examples has finished in 2,203 ms

Nov 12, 2019 1:24:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\manager
Nov 12, 2019 1:24:39 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:40 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:40 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\manager has finished in 688 ms

Nov 12, 2019 1:24:40 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\Norms
Nov 12, 2019 1:24:40 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:42 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:42 PM org.apache.tomcat.util.descriptor.web.SecurityConstraint findUncoveredHttpMethods
SEVERE: For security constraints with URL pattern [/jsp/security/protected/*] only the HTTP methods [DELETE POST GET PUT] are covered. All other methods are uncovered.
Nov 12, 2019 1:24:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\Norms has finished in 1,678 ms

Nov 12, 2019 1:24:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\php
Nov 12, 2019 1:24:42 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:42 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\php has finished in 563 ms

Nov 12, 2019 1:24:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\ROOT
Nov 12, 2019 1:24:42 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:43 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:43 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\ROOT has finished in 593 ms

Nov 12, 2019 1:24:43 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\apache-tomcat-8.0.32\webapps\servlets-examples
Nov 12, 2019 1:24:43 PM org.apache.tomcat.util.digester.Digester endElement
WARNING:   No rules found matching 'Context/Value'.
Nov 12, 2019 1:24:44 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 1:24:44 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 12, 2019 1:24:44 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Nov 12, 2019 1:24:44 PM org.apache.tomcat.util.descriptor.web.SecurityConstraint findUncoveredHttpMethods
SEVERE: For security constraints with URL pattern [/jsp/security/protected/*] only the HTTP methods [DELETE POST GET PUT] are covered. All other methods are uncovered.
Nov 12, 2019 1:24:44 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory D:\apache-tomcat-8.0.32\webapps\servlets-examples has finished in 734 ms

Nov 12, 2019 1:24:44 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Nov 12, 2019 1:24:44 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Nov 12, 2019 1:24:44 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 14599 ms

 
Tim Holloway
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Norm, you might want to see if those WARs contain a META-INF/context.xml file.

While the message that you highlighted is rather cryptic, it's possible that there was something wrong with a context.xml file either at its root element (<Context>) or possible a sub-element named Value (which I'm not sure is a legal sub-element of Context).

The TLD messages, I believe are an indication that Tomcat was looking for taglib jars in the WAR, but didn't find what it was expecting, and as far as I know are just normal noise and certainly nothing I've ever had to worry about. In any event, the only way that that could cause Tomcat to startup very slowly is if the WAR had lots of jars in it and was running on a slow media - say an 8-inch floppy disk. Or a hard drive with a really high amount of error retries.
 
Steve Nelligan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Below is the catalina-Tomcat log for 7.0.96

Nov 12, 2019 11:28:40 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Nov 12, 2019 11:28:40 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8443"]
Nov 12, 2019 11:28:40 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Nov 12, 2019 11:28:40 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1411 ms
Nov 12, 2019 11:28:40 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 12, 2019 11:28:40 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.96
Nov 12, 2019 11:28:40 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor G:\tomcat7\conf\Catalina\localhost\fsportal.xml
Nov 12, 2019 11:28:40 AM org.apache.catalina.realm.JAASRealm setUseContextClassLoader
INFO: Setting useContextClassLoader = true
Nov 12, 2019 11:29:56 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:30:08 AM org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:30:09 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deployment of configuration descriptor G:\tomcat7\conf\Catalina\localhost\fsportal.xml has finished in 89,389 ms
Nov 12, 2019 11:30:09 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\tomcat7\webapps\accountrequest.war
Nov 12, 2019 11:31:16 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:31:16 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive G:\tomcat7\webapps\accountrequest.war has finished in 66,909 ms
Nov 12, 2019 11:31:16 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\tomcat7\webapps\aimibuy.war
Nov 12, 2019 11:32:24 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:32:24 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive G:\tomcat7\webapps\aimibuy.war has finished in 67,362 ms
Nov 12, 2019 11:32:24 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\tomcat7\webapps\externalcharges.war
Nov 12, 2019 11:33:30 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:33:30 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive G:\tomcat7\webapps\externalcharges.war has finished in 66,347 ms
Nov 12, 2019 11:33:30 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\tomcat7\webapps\hrportlet.war
Nov 12, 2019 11:34:35 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/portlet is already defined
Nov 12, 2019 11:34:35 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:34:35 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive G:\tomcat7\webapps\hrportlet.war has finished in 65,021 ms
Nov 12, 2019 11:34:35 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\tomcat7\webapps\ibuystartpage.war
Nov 12, 2019 11:35:39 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:35:39 AM org.apache.catalina.startup.HostConfig deployWAR
...
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 12, 2019 11:52:55 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory G:\tomcat7\webapps\sitemindertest has finished in 64,071 ms
Nov 12, 2019 11:52:55 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Nov 12, 2019 11:52:55 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
Nov 12, 2019 11:52:55 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Nov 12, 2019 11:52:55 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1454863 ms
 
Tim Holloway
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yikes. Take a very good look at the sitemindertest application. There is absolutely no way a well-designed Tomcat webapp should be taking 20 minutes to start up. Run a profiler on it or something.

Also, do make sure you have enough memory and you're not simply spending all your time doing virtual memory page swaps.
 
Steve Nelligan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The startup of siteminder.war takes 64071ms or 1.07 minutes.


The environment on the server is the same, we were running tomcat 7.0.34 and it took approx 4 minutes
We installed 7.0.96 on the server in it's own folder and configured it same as previous verion and now it takes 23 minutes.

We do have a large number of jar files in our system.

What changed between 7.0.34 and 7.0.96 to cause this startup problem?

-Steve Nelligan

 
Norm Radder
Rancher
Posts: 3623
34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

We do have a large number of jar files in our system.


For a test, try adding those jar files to the do not scan list:


https://stackoverflow.com/questions/40204124/how-to-fix-jars-that-were-scanned-but-no-tlds-were-found-in-them-in-tomcat-9/40206200

changing (in catalina.properties):

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\

 
Steve Nelligan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Note: the temp directory is empty.
Adding the jars to the do not scan list did speed up the startup; but when I shut down tomcat
I get the following errors:




INFO: Stopping service Catalina
Nov 13, 2019 8:04:25 AM org.apache.catalina.loader.WebappClassLoaderBase openJARs
WARNING: Failed to open JAR [null]
java.io.FileNotFoundException: G:\Tomcat7\temp\8-unauthorized\WEB-INF\lib\commons-lang-2.6.jar (The system cannot find the path specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:153)
at java.util.jar.JarFile.<init>(JarFile.java:117)
at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:315)
at org.apache.catalina.loader.WebappClassLoaderBase.openJARs(WebappClassLoaderBase.java:3131)
at org.apache.catalina.loader.WebappClassLoaderBase.findResourceInternal(WebappClassLoaderBase.java:3443)
at org.apache.catalina.loader.WebappClassLoaderBase.findResource(WebappClassLoaderBase.java:1505)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1749)
at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc(WebappClassLoaderBase.java:2345)
at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:2286)
at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:2186)
at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:684)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5978)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1723)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1712)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Nov 13, 2019 8:04:25 AM org.apache.catalina.loader.WebappClassLoaderBase openJARs
WARNING: Failed to open JAR [null]
java.io.FileNotFoundException: G:\Tomcat7\temp\8-unauthorized\WEB-INF\lib\commons-lang-2.6.jar (The system cannot find the path specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
...

 
Tim Holloway
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When you are upgrading over minor version numbers, the most common reason why a later version would take longer to start is that the new version fixed a bug that was causing something to be done that the earlier version did not do even though it should have, or wasn't doing it right.

The one and only exception to major functional changes I know of in Tomcat was in version 8, where about midway through they changed their long-standing policy of not replacing an exploded WAR when a newer non-exploded WAR was dropped into the webapps directory. Which, while convenient, really did deserve a bigger version number change than they gave it.

Because Tomcat is a minimalistic container, however, performance issues are far more common in the webapps themselves than in the Tomcat or Tomcat/webapp parts of the system. So it would be really a good idea to profile the webapp startup and see where the actual delays are happening. And, of course, make sure that your OS has enough resources to run the upgraded system.

Other than that, unless you have a very specific reason to need to, I'm not sure but what you're not simply wasting your time upgrading within Tomcat 7. If security/bug issues are a concern, they are better addressed in a more up-to-date Tomcat release, which is supposed to be your ultimate goal anyway. And by this point, Tomcat 7 won't be supported by Apache much longer anyway.
 
Norm Radder
Rancher
Posts: 3623
34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Could there be a problem with some security monitor?  Try turning off the security monitor and see what happens.
 
Tim Holloway
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Actually, that trace reads like somehow a webapp was deployed to the Tomcat temp directory instead of TOMCAT_HOME/webapps, and that it was deleted before the Tomcat shutdown services could clean it up.

If that's really true, then something very subtle (and probably very questionable) was going on in the system. Either an overly-clever web application was dynamically creating a secondary webapp or someone has managed to create a Tomcat virus.
 
Steve Nelligan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When a webapp is deployed to tomcat, the x.war file is exploded and a folder with name "x" is created in the webapps folder.
At the same time, a folder is created in the TEMP directory with a name #-x. Where # is a sequential number.

This has always been the case since I took over working with Tomcat.  Is this an unusual occurrence?


 
Tim Holloway
Saloon Keeper
Posts: 21311
140
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Steve Nelligan wrote:When a webapp is deployed to tomcat, the x.war file is exploded and a folder with name "x" is created in the webapps folder.
At the same time, a folder is created in the TEMP directory with a name #-x. Where # is a sequential number.

This has always been the case since I took over working with Tomcat.  Is this an unusual occurrence?



I guess I haven't been paying attention. I think that this mechanism was probably introduced when Tomcat added versioning to webapps, since I'm pretty sure it didn't exist in earlier releases.

That's OK, then, except for the fact that the temp directory and the un-deployment mechanism in Tomcat seems to have a false idea of what jars are in the temp copy of the WAR. I've got an offline copy of Tomcat 7.0.41 on my desktop and the temp directory is empty, so odds are that the temporary WARs, if created, are normally deleted when Tomcat shuts down. But not, ordinarily, before Tomcat has directed their classloaders to clean up.

Whenever I have a wierd problem with Tomcat, my standard procedure is to delete all files and directories under Tomcat's logs, temp, and work directories and ideally also webapps, deploying fresh copies of the WARs. For good measure, it's worth checking conf/catalina/localhost for lint as well.
 
We don't have time to be charming! Quick, read this tiny ad:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!