1.加载crowd.cfg.xml
配置了数据库及hibernate参数
2.apache.struts2.config.AbstractBeanSelectionProvider
为各种类配置bean(Struts)
3.初始化Spring root WebApplicationContext
初始化c3p0 数据源连接池
4.service.soap.client.SoapClientPropertiesImpl
加载属性(session、application),并查找属性值
5.检查插件bundle加载地址
crowd.plugin.factory.BundledPluginLoaderFactory
tomcat7x/cargo-crowd-home/.../atlassian-bundled-plugins.zip
(dev mode)
检查crowd license是否可用
crowd.console.listener.StartupListener
6.com.atlassian.crowd.startup.
加载启动中的各项系统信息(JVM/JDBC/memory等)
7.crowd.manager.backup.AtlassianSchedulerBackupScheduler
注册自动备份
8.atlassian.plugin.manager.DefaultPluginManager
启动插件系统
9.org.twdata.pkgscanner.ExportPackageListBuilder
从tomcat7x\cargo-crowd-home\...\lib\中导出JAR文件,并扫描package。
osgi.container.felix.ExportsBuilder 完成扫描,并统计packages个数。
10.osgi.container.felix.FelixOsgiContainerManager
使用Felix软件包cacheKey源码(版本、包路径信息)
11.osgi.container.felix.FelixOsgiContainerManager
安装软件包(spring相关等)、并启动
12.plugin.osgi.factory.UnrecognisedModuleDescriptorFallbackFactory
识别未知的模块描述符
13.osgi.container.felix.FelixOsgiContainerManager
安装install插件
atlassian.plugin.manager.PluginEnabler
统计已安装的插件,并启用enable插件
blueprint.extender.support.DefaultOsgiApplicationContextCreator
发现discover插件软件包中的配置文件(/META-INF/spring/*.xml),
并启动start相应的软件包和相关依赖。
14.internal.dependencies.startup.DependencyServiceManager
为导入方(OsgiPlugin)添加OSGi服务依赖
15.service.exporter.support.OsgiServiceFactoryBean
在类中发布publish服务
13/14/15交叉进行
16.plugin.osgi.factory.UnrecognizedModuleDescriptorServiceTrackerCustomizer
把无法识别的插件模块转换为Null
17.labs.plugins.quickreload.spring
spring上下文启动(quickreload)
atlassian.plugin.util.WaitUntil
显示尚未启用的插件
18.plugin.osgi.factory.ModuleDescriptorServiceTrackerCustomizer
动态注册新的模块描述符
19.apache.struts2.config.AbstractBeanSelectionProvider
为各种类配置bean(Struts)
【20.com.atlassian.crowd.startup开启crowd服务】
21.server.impl.application.WebApplicationImpl
启动Initiating Jersey应用程序
22.api.wadl.config.WadlGeneratorLoader
加载wadlGenerator
23.doclet.generators.resourcedoc.AtlassianWadlGeneratorResourceDocSupport
查找rest插件模块描述符