`
quickSand
  • 浏览: 27089 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • jlle: 好文章,都是我正在研究的东西,正准备转为商用,这些想法跟我一致 ...
    liferay瘦身

liferay瘦身

阅读更多
转贴自:bbs.w3china.org/blog/more.asp

1)保留Liferay最基本的一些组件<o:p></o:p>

      

       Liferay提供了一些基本组件,这些组件不属于Portal框架之内,但是整个portal服务是基于这些组件。

包结构

说明

com.liferay.counter

主要提供主建操作服务,Liferay内部的提供的组织结构表维护,就是采用counter提供的主建自增机制

com.liferay.filters

提供一些基础的基于servlet filter的过滤器

com.liferay.taglib

提供最基本的web展示标签

com.liferay.util

提供最基本的一些公共组件

       以上这四个组件是必须保留的,另外还有两个基本组件:com.liferay.mail(提供邮件服务)和com.liferay.wsrp(提供webservice服务)。这个实际上应该属于可选的,如果觉得需要的话,也可以纳入。

<o:p> </o:p>

2)保留LiferayPortal基础服务<o:p></o:p>

       Liferay的基础服务是以com.liferay.portal作为基础的,基本属于此包内的都尽量保留。目前其子package说明如下:

包结构

说明

com.liferay.portal

此包下放置了portal服务相关的一些异常

com.liferay.portal.action

负责一些struts action处理,比如Login

com.liferay.portal.definitions

此包不是类包,而是负责放置一些定义相关的dtd文件资源。具体需要哪些dtd,可以参考com.liferay.portal.util. EntityResolver

com.liferay.portal.dependencies

此包也不是类包,而是负责一些依赖性的资源文件。

com.liferay.portal.deploy

负责自动部署和热部署

com.liferay.portal.events

这个包内主要是一些行为处理类

com.liferay.portal.im

即时消息的支持

com.liferay.portal.jcr

提供JSR-170 JCR的支持,并内部提供Jackrabbit的实现支持

com.liferay.portal.job

对一些时间调度性Job的支持

com.liferay.portal.language

对语言的支持包

com.liferay.portal.lucene

对全文检索的支持

com.liferay.portal.model

一些模型对象的集合

com.liferay.portal.security

<o:p> </o:p>

com.liferay.portal.servlet

<o:p> </o:p>

com.liferay.portal.spring

<o:p> </o:p>

com.liferay.portal.struts

<o:p> </o:p>

com.liferay.portal.theme

提供对“主题”,也就是界面风格的支持

com.liferay.portal.tools

<o:p> </o:p>

com.liferay.portal.util

<o:p> </o:p>

com.liferay.portal.velocity

<o:p> </o:p>

com.liferay.portal.wsrp

<o:p> </o:p>

<o:p> </o:p>

       其实我们可以把Liferay这些portal服务再缩简一些,但刚开始建议大家不要随便的删减,保留原始的即可。

<o:p> </o:p>

3)缩减portlet应用<o:p></o:p>

       Liferay提供了大量的portlet应用,有大概七八十个。正应为这些portlet的加载和部署,让Liferay启动缓慢,消耗系统资源多。实际上,保持Liferay Portal正常运行,只需要其中几个就可以了,剩下的,我们可以根据需要进行删减。

<o:p> </o:p>

       下面列出了一些最基本的portlet,只需要保留如下的这些portlet即可保证liferay的正常启动和运行

包结构

说明

com.liferay.portlet

Liferay Portlet的一些基础类

com.liferay.portlet.admin

管理portlet

com.liferay.portlet.calendar

日期portlet虽然可以不需要,但是其内部提供对job的调度。

com.liferay.portlet.communities

这个是负责配置用户其所在的group,利用可以配置用户所拥有的工作区。

com.liferay.portlet.enterpriseadmin

<o:p> </o:p>

com.liferay.portlet.language

<o:p> </o:p>

com.liferay.portlet.layoutconfiguration

<o:p> </o:p>

com.liferay.portlet.login

<o:p> </o:p>

com.liferay.portlet.myaccount

用于配置用户信息

com.liferay.portlet.myplaces

用于控制用户的工作区选择

com.liferay.portlet.portletconfiguration

<o:p> </o:p>

com.liferay.portlet.themegallery

用于控制主题风格

com.liferay.portlet.translator

这个包必须要,虽然portlet可以不用,但是被portal.language包引入了

com.liferay.portlet.wsrp

这个包必须要。

<o:p> </o:p>

       只需要保证如上的portlet在系统中,即可保证Liferay的正常运行。

<o:p> </o:p>

       但是,不以为只需要简单得讲起他的Porlet删除即可,那就大错特错了。Liferay在这一层面做的非常不友善,内部代码由一点点地耦合。很多地方依靠写if else来判断,所以造成了在portal这个服务包中,竟然存在很多地方引用portlet中的类。

       不过这个倒不难修改,只需要花费一点点时间,简单修改一下就可以了。比较容易,此处就不多说。

<o:p> </o:p>

4)从配置文件中删除无用portlet的部署<o:p></o:p>

      

       这个主要是修改WEB-INF目录下的portlet.xmlliferay-portlet.xml以及liferay-display.xml这些文件。只需要依次把那些不需要的portlet删除即可。没有什么难度,细心点就可以了。

<o:p> </o:p>

5)修改服务配置文件<o:p></o:p>

<o:p> </o:p>

       Liferay的配置文件也是很多,放置也是在好几个地方:

位置

配置文件说明

/WEB-INF

portlet描述和struts等配置文件

/WEB-INF/classes

system.propertiesportal.properties配置文件

/WEB-INF/classes/META-INF

portal-spring.xmlportal-hbm.xmlportal-log4j.xml配置文件。此位置可调,具体可以修改portal.properties内容。

<o:p> </o:p>

       为了让系统正确运行,我们还需要修改system.propertiesportal.properties配置文件,这是Liferay核心配置文件。Liferay的很多服务都是在此配置文件中声明和修改。具体修改哪些本文不细说,改篇专门作个专题讲。

<o:p> </o:p>

       还需要修改portal-spring.xml(如果是professional版,则是portal-spring-professional.xml)。需要将那些已经没有的类bean删除。否则Liferay现在的加载机制,一旦碰到没有的类的bean,则加载不成功了。

       当然portal-hbm.xml

分享到:
评论
1 楼 jlle 2007-08-02  
好文章,都是我正在研究的东西,正准备转为商用,这些想法跟我一致,学习中

相关推荐

Global site tag (gtag.js) - Google Analytics