MainServlet中,初始化公司信息之后就是初始化插件了,对应代码如下:
- if (_log.isDebugEnabled()) {
- _log.debug("Initialize plugins");
- }
- try {
- initPlugins();
- }
- ..
它会去调用initPlugins方法:
- protected void initPlugins() throws Exception {
- // See LEP-2885. Don't flush hot deploy events until after the portal
- // has initialized.
- if (SetupWizardUtil.isSetupFinished()) {
- HotDeployUtil.setCapturePrematureEvents(false);
- PortalLifecycleUtil.flushInits();
- }
- }
这里很简单,只要进行SetupWizardUtil.isSetupFinished的判断:
- public static boolean isSetupFinished() {
- if (PropsValues.SETUP_WIZARD_ENABLED) {
- return _setupFinished;
- }
- return true;
- }
这个方法会先去判断是否开启了setup向导,这个值写在portal.properties文件中:
- #
- # Set this property to true if the Setup Wizard should be displayed the
- # first the portal is started.
- #
- setup.wizard.enabled=true
从这里看出,默认portal第一次启动会启动向导,所以isSetupFinished()返回的是_setupFinished的值,也就是false。
所以我们不执行07-09行的代码。
现在,Liferay的启动过程就算正式完成了。
本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/907671,如需转载请自行联系原作者