Author: markt Date: Tue May 26 21:00:29 2015 New Revision: 1681864 URL: http://svn.apache.org/r1681864 Log: Update startup description. Written with Tomcat 9 in mind but better than the old one based on Tomcat 5.
Modified: tomcat/tc8.0.x/trunk/ (props changed) tomcat/tc8.0.x/trunk/webapps/docs/architecture/startup/serverStartup.txt Propchange: tomcat/tc8.0.x/trunk/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue May 26 21:00:29 2015 @@ -1 +1 @@ -/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,1655558,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657 907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1666387,1666494,1666496,1666552,1666569,1666579,1666637,1666649,1 666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681701,1681729,1681837-1681838 +/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892 ,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,1655558,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657 907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1666387,1666494,1666496,1666552,1666569,1666579,1666637,1666649,1 666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681701,1681729,1681837-1681838,1681854 Modified: tomcat/tc8.0.x/trunk/webapps/docs/architecture/startup/serverStartup.txt URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/architecture/startup/serverStartup.txt?rev=1681864&r1=1681863&r2=1681864&view=diff ============================================================================== --- tomcat/tc8.0.x/trunk/webapps/docs/architecture/startup/serverStartup.txt (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/architecture/startup/serverStartup.txt Tue May 26 21:00:29 2015 @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. -Tomcat 5 Startup Sequence +Tomcat Startup Sequence Sequence 1. Start from Command Line Class: org.apache.catalina.startup.Bootstrap @@ -22,13 +22,15 @@ What it does: commonLoader (common)-> System Loader sharedLoader (shared)-> commonLoader -> System Loader catalinaLoader(server) -> commonLoader -> System Loader + (by default the commonLoader is used for the + sharedLoader and the serverLoader) b) Load startup class (reflection) org.apache.catalina.startup.Catalina setParentClassloader -> sharedLoader Thread.contextClassloader -> catalinaLoader c) Bootstrap.daemon.init() complete -Sequence 2. Process command line argument (start, startd, stop, stopd) +Sequence 2. Process command line argument (start, stop) Class: org.apache.catalina.startup.Bootstrap (assume command->start) What it does: a) Catalina.setAwait(true); @@ -50,7 +52,7 @@ What it does: The single entry for a set of connectors, so that a container can listen to multiple connectors ie, single entry - org.apache.coyote.tomcat5.CoyoteConnector + org.apache.catalina.Connector Connectors to listen for incoming requests only It also adds the following rulesets to the digester NamingRuleSet @@ -67,13 +69,13 @@ What it does: During the process call the Connectors also initialize the adapters. The adapters are the components that do the request pre-processing. Typical adapters are HTTP1.1 (default if no protocol is specified, - org.apache.coyote.http11.Http11Protocol) + org.apache.coyote.http11.Http11NioProtocol) AJP1.3 for mod_jk etc. c) Catalina.start() c1) Starts the NamingContext and binds all JNDI references into it c2) Starts the services under <Server> which are: - StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc) + StandardService -> starts Engine (ContainerBase -> Realm,Cluster etc) c3) StandardHost (started by the service) Configures a ErrorReportValvem to do proper HTML output for different HTTP errors codes @@ -85,8 +87,7 @@ What it does: Starts the HostConfig component This component deploys all the webapps (webapps & conf/Catalina/localhost/*.xml) - Webapps are installed using the deployer (StandardHostDeployer) - The deployer will create a Digester for your context, this digester + HostConfig will create a Digester for your context, this digester will then invoke ContextConfig.start() The ContextConfig.start() will process the default web.xml (conf/web.xml) and then process the applications web.xml (WEB-INF/web.xml) @@ -96,23 +97,23 @@ What it does: context xml file, web.xml) then a reload is issued (stop/remove/deploy/start) d) Tomcat receives a request on an HTTP port - d1) The request is received by a separate thread which is waiting in the PoolTcpEndPoint + d1) The request is received by a separate thread which is waiting in the ThreadPoolExecutor class. It is waiting for a request in a regular ServerSocket.accept() method. When a request is received, this thread wakes up. - d2) The PoolTcpEndPoint assigns the a TcpConnection to handle the request. + d2) The ThreadPoolExecutor assigns the a TaskThread to handle the request. It also supplies a JMX object name to the catalina container (not used I believe) d3) The processor to handle the request in this case is Coyote Http11Processor, and the process method is invoked. This same processor is also continuing to check the input stream of the socket until the keep alive point is reached or the connection is disconnected. - d4) The HTTP request is parsed using an internal buffer class (Coyote Http11 Internal Buffer) + d4) The HTTP request is parsed using an internal buffer class (Http11InputBuffer) The buffer class parses the request line, the headers, etc and store the result in a Coyote request (not an HTTP request) This request contains all the HTTP info, such as servername, port, scheme, etc. d5) The processor contains a reference to an Adapter, in this case it is the - Coyote Tomcat 5 Adapter. Once the request has been parsed, the Http11 processor + CoyoteAdapter. Once the request has been parsed, the Http11Processor invokes service() on the adapter. In the service method, the Request contains a - CoyoteRequest and CoyoteRespons (null for the first time) + CoyoteRequest and CoyoteResponse (null for the first time) The CoyoteRequest(Response) implements HttpRequest(Response) and HttpServletRequest(Response) The adapter parses and associates everything with the request, cookies, the context through a Mapper, etc --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org