博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
org.apache.catalina.startup.Catalina start之过程分析
阅读量:6830 次
发布时间:2019-06-26

本文共 14547 字,大约阅读时间需要 48 分钟。

【启动servlet容器(tomcat)的版本日志监听器】

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version: Apache Tomcat/7.0.57
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built: Nov 3 2014 08:39:16 UTC
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number: 7.0.57.0
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Windows 8.1
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version: 6.3
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture: amd64
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JAVA_HOME: F:\Java\jdk1.7.0_76\jre
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version: 1.7.0_76-b13
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor: Oracle Corporation
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: F:\gszh\gszh\apache-tomcat-7.0.57
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: F:\gszh\gszh\apache-tomcat-7.0.57
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:61468
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=F:\gszh\gszh\apache-tomcat-7.0.57
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=F:\gszh\gszh\apache-tomcat-7.0.57
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=F:\gszh\gszh\apache-tomcat-7.0.57/common/endorsed
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.io.tmpdir=F:\gszh\gszh\apache-tomcat-7.0.57\temp
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.library.path=F:\Java\jdk1.7.0_76\jre\bin;F:\gszh\gszh\apache-tomcat-7.0.57\bin
五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dsun.io.useCanonCaches=false
【调用AprLifecycleListener监听器,LifecycleEvent是LifecycleListener接口的抽象方法(确认指定事件的发生)】
五月 02, 2016 10:35:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: Loaded APR based Apache Tomcat Native library 1.1.32 using APR version 1.5.1.
五月 02, 2016 10:35:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
五月 02, 2016 10:36:00 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1j 15 Oct 2014)
【初始化servlet容器默认的协议】
五月 02, 2016 10:36:00 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
五月 02, 2016 10:36:00 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
五月 02, 2016 10:36:00 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1983 ms
【启动tomcat的服务】
五月 02, 2016 10:36:00 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
【创建tomcat引擎的实例】
五月 02, 2016 10:36:00 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.57
【启动事件监听器的主机配置信息对应的项目实例和相关的上下文定义,部署的描述符文件,??.xml】
五月 02, 2016 10:36:00 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor F:\gszh\gszh\apache-tomcat-7.0.57\conf\Catalina\localhost\test.xml
【创建一个新的随机数生成器实例,该实例是我们应该使用的生成会话标识符】
五月 02, 2016 10:36:01 下午 org.apache.catalina.util.SessionIdGenerator createSecureRandom
信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [223] milliseconds.
【完成】
五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deployment of configuration descriptor F:\gszh\gszh\apache-tomcat-7.0.57\conf\Catalina\localhost\test.xml has finished in 954 ms
五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\docs
五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\docs has finished in 92 ms
五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\examples
【ApplicationContext是ServletContext标准实现,它表示一个web应用程序的执行环境。这个类的一个实例与每个标准的servlet实例相关联】
五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@33ed55b9')
【部署完成】
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\examples has finished in 539 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\fileData
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\fileData has finished in 64 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\host-manager
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\host-manager has finished in 91 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\it315
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\it315 has finished in 136 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\lib
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\lib has finished in 58 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\manager
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\manager has finished in 72 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\ROOT
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\ROOT has finished in 57 ms
五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop
【将指定的消息写入servlet日志文件】
五月 02, 2016 10:36:05 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
五月 02, 2016 10:36:05 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
【执行实际的根应用程序上下文初始化工作。被ContextLoaderListener(在web.xml的配置文件指定)调用。
initWebApplicationContext的作用为:web.xml的context-params节点的“contextClass”和“contextConfigLocation”初始化Spring的web应用程序上下文特定的servlet上下文。】
五月 02, 2016 10:36:05 下午 org.springframework.web.context.ContextLoader initWebApplicationContext
信息: Root WebApplicationContext: initialization started
【AbstractApplicationContext是IoC容器抽象类,prepareRefresh在当前上下文中准备刷新,设置它的启动日期和活跃标志以及执行任何初始化的属性源】
五月 02, 2016 10:36:05 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing Root WebApplicationContext: startup date [Mon May 02 22:36:05 CST 2016]; root of context hierarchy
【XmlBeanDefinitionReader为XML Bean定义的读者,从指定的xml文件中加载相关的bean定义】
五月 02, 2016 10:36:05 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-action.xml]
五月 02, 2016 10:36:05 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-public.xml]
五月 02, 2016 10:36:06 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-service.xml]
【加载配置文件属性到给定的实例。由于applicationContext-service.xml有关联了sessionFactory(<property name="sessionFactory" ref="sessionFactory" />),所以这是它下一步加载hibernate框架的动作】
五月 02, 2016 10:36:06 下午 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
信息: Loading properties file from class path resource [conn.properties]
【DefaultListableBeanFactory注册所有bean定义(可能从bean定义文件读取),
preInstantiateSingletons确保所有non-lazy-init单例实例化,还考虑FactoryBeans。如果需要的话,通常在工厂设置结束时调用】
五月 02, 2016 10:36:06 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f806802: defining beans [baseAction,categoryAction,accountAction,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,date,dataSource,sessionFactory,transactionManager,advice,org.springframework.aop.config.internalAutoProxyCreator,pointcut,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,baseService,categoryService,accountService]; root of factory hierarchy
【补充说明:
applicationContext-action.xml:baseAction,categoryAction,accountAction
applicationContext-public.xml:
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0对应<context:property-placeholderlocation="classpath:conn.properties"/>,
dataSource,
sessionFactory,
transactionManager,
advice,
org.springframework.aop.config.internalAutoProxyCreator,
pointcut,
org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0
applicationContext-service.xml:
baseService,categoryService,accountService
【c3p0的MLog】
五月 02, 2016 10:36:06 下午 com.mchange.v2.log.MLog <clinit>
信息: MLog clients using java 1.4+ standard logging.
【C3P0Registry的主要目的是维护“identityTokens”的映射到c3p0数据源。如果相同的数据源被查找(和通过JNDI或引用反序列化),c3p0可以确保总是返回相同的实例。】
五月 02, 2016 10:36:07 下午 com.mchange.v2.c3p0.C3P0Registry banner
信息: Initializing c3p0-0.9.0.2 [built 26-September-2005 12:55:26 -0400; debug? true; trace: 10]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See for further details.
【创建Hibernate SessionFactory】
五月 02, 2016 10:36:07 下午 org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory
信息: Building new Hibernate SessionFactory
【初始化c3p0连接池】
五月 02, 2016 10:36:07 下午 com.mchange.v2.c3p0.PoolBackedDataSource getPoolManager
信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource@373506de[ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 373506de, idleConnectionTestPeriod -> -1, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/shop, loginTimeout -> 0, maxIdleTime -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=**, password=**}, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ]
【HibernateTransactionManager允许绑定一个Hibernate会话从指定的线程工厂,可允许一个线程会话对应一个工厂。SessionFactoryUtils和HibernateTemplate知道绑定的线程以及能自动参与事务。
afterPropertiesSet调用一个BeanFactory的所有bean属性(包括满足BeanFactoryAware ApplicationContextAware)
五月 02, 2016 10:36:08 下午 org.springframework.orm.hibernate3.HibernateTransactionManager afterPropertiesSet
信息: Using DataSource [com.mchange.v2.c3p0.ComboPooledDataSource@373506de[ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 373506de, idleConnectionTestPeriod -> -1, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/shop, loginTimeout -> 0, maxIdleTime -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=**, password=**}, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ]] of Hibernate SessionFactory for HibernateTransactionManager
【spring容器初始化service的bean
<!-- 表达式, 定义哪个包的哪些类需要切入事务,但是此处并且没有制定类中哪些方法,需要切入什么样 事务 -->
<aop:pointcut expression="execution( cn.it.shop.service.impl..*(..))" id="pointcut" />

转载于:https://blog.51cto.com/1929297/2048101

你可能感兴趣的文章
Not Registered 终极解决方案
查看>>
拳头公司聊天服务架构:服务器篇
查看>>
Android开发者指南(2) —— aapt
查看>>
SLES的桌面应用
查看>>
mongodb-基础-update-remove
查看>>
云场景实践研究第84期:东润环能
查看>>
面试 -- 数字签名与数字证书
查看>>
回文树(回文自动机) - URAL 1960 Palindromes and Super Abilities
查看>>
SGX相关资源
查看>>
Java Web基础入门
查看>>
CCIE 安全认证 要求
查看>>
汽车过沙漠问题【学习笔记】
查看>>
最详细的SQL注入相关的命令整理
查看>>
Android2.2 API 中文文档系列(6) —— ImageView
查看>>
oracle 密码默认180天过期
查看>>
ORACLE FAST FULL INDEX SCAN vs. INDEX RANGE SCANS
查看>>
配置Windows server2012的DHCP故障转移
查看>>
Android自定义Listener
查看>>
从iPhone应用中启动App Store
查看>>
在GNS3中使用SecureCRT6.1出错的解决方案
查看>>