最近在群里大家都在讨论Pentaho BI Server 的一些问题,但是大家对于Pentaho BI Server在启动时都做了些什么并不是十分了解,在这里我就来和大家聊一聊这个过程。
软件和版本
Pentaho BIServer 5.0.1-ce
几个重要的类
Pentaho BI Server默认使用的是Tomcat服务器,所以这里你需要对JavaWeb应用以有Tomcat有一定的了解,下面是在Tomcat启动时调用了它们进行Pentaho BI Server 做初始化:
SpringEnvironmentSetupListener
HsqldbStartupListener
ContextLoaderListener
SolutionContextListener
PentahoSystem
它们都做了什么
SpringEnvironmentSetupListener 它的作用很简单,找到系统的系统目录并将该目录配置到环境变量中(默认值为:biserver-ce\pentaho-solutions\system 配置到以PentahoSystemPath为key的环境变量中)
HsqldbStartupListener 根据web.xml中的配置将Hsqldb启动,Pentaho BI Server 的运行默认依赖这个数据库,来保存系统的一些基本配置信息,你也可以将它迁移到Mysql中(之前的文章有说明怎么迁移)
ContextLoaderListener 读取web.xml中的contextClass配置项将其实例化,读取web.xml中的contextConfigLocation配置项将其配置内容加载到contextClass配置的类对象中(具体值可以看web.xml文件)
注:PentahoSolutionSpringApplicationContext 继承XmlWebApplicationContext将重写了getResourceByPath方法所以Spring默认加载的文件都会到系统目录下去找(biserver-ce\pentaho-solutions\system),这一步完成后所有配置在xml中的类都会被Spring实例化(具体看system目录下的pentaho-spring-beans.xml)
SolutionContextListener 这个类很关键它调用了PentahoSystem类将所有的Pentaho BI Server相关的初始化工作都在该类中完成。
PentahoSystem 这个类非常的重要,所有的初始化工作都在这里完成,它还管理Pentaho BI Server的各个组件等。
结束语
OK 今天这部分的讲解就到这里,下一篇会着重讲一下PentahoSystem这个类是怎么管理Pentaho BI Server的。
本人接触Pentaho时间不长如果文中有错误望高手指出谢谢!
如果对文中有疑问请联系我
我的Email:zhaizhisheng@sina.com
我的博客:http://blog.csdn.net/zhaizhisheng
下期预告:Pentaho BI Server的启动过程详解(二)