Crowd自定义插件启动的主要流程
2017-03-31 19:00
281 查看
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/spr
4000
ing/*.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插件模块描述符
配置了数据库及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/spr
4000
ing/*.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插件模块描述符
相关文章推荐
- JIRA自定义插件启动流程
- Linux学习笔记---启动流程与主要启动记录区(MBR)
- UI03自定义视图 IOS程序启动流程
- 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
- cordova 自定义插件之完整流程
- Linux系统启动流程(4)制作自定义linux之一
- Linux 操作系统启动部分的主要执行流程
- 一张图搞定Activity启动流程和占坑式插件原理
- 插件占坑,四大组件动态注册前奏(一) 系统Activity的启动流程
- ionic插件基础(五)——自定义插件流程详解
- memcached-1.4.20 主要启动流程笔记
- 启动流程与主要启动记录区(MBR)
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
- 插件占坑,四大组件动态注册前奏(一) 系统Activity的启动流程
- activiti自定义流程之Spring整合activiti-modeler实例(六):启动流程
- 嵌入式 uboot第二阶段启动流程小结以及在uboot添加自定义命令
- >02 (协议代理)、自定义视图、程序执行顺序(iOS程序启动流程 )、视图控制器、(MVC的理解)
- activiti自定义流程之整合(五):启动流程时获取自定义表单
- Android ActivityManagerService(AMS)的启动分析 << 代码讲的比较细致,在了解主要流程后再看这篇
- UE4引擎自定义插件导出类定义的简单流程