`
NanguoCoffee
  • 浏览: 49751 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JForum源码学习研究2-初始化步骤

阅读更多
JForum最基本的Servlet为JForumBaseServlet和JForum,JForum论坛的初始化就是以这两个累的初始化开始:
执行JForumBaseServlet init,
1: 载入SystemGlobal.properties文件
ConfigLoader类主要是用来加载各种配置,也包括了SystemGlobal.properties, 缓存配置等等。
ConfigKeys定义了所有用到的配置常量。
SystemGlobal.java是专门用来加载SystemGlobal.properties和jforum-custom.conf文件。
在SystemGlobal.properties中存在嵌套的变量定义,比如 config.dir = ${resource.dir}/config,
那么通过SystemGlobal.getValue(String)来获取confgi.dir的时候,首先获取 ${resource.dir}/config,然后使用VariableExpander来将resource.dir替换掉。
VariableExpander定义了某个变量前缀和后缀,比如这里是${ 和 },就可以获取resource.dir,然后在通过SystemGlobal.getVariableValue(Str)来获取
resource.dir的值。
如果已经安装了论坛,还将加载jforum-cunstom.conf.文件。其实就是简单的资源文件,不存在嵌套的变量引用。

2:初始化缓存引擎
SystemGlobal.properties中有这么一段关于缓存引擎的资源配置:
cache.engine.default = net.jforum.cache.DefaultCacheEngine
cache.engine.jboss = net.jforum.cache.JBossCacheEngine
jboss.cache.properties = ${config.dir}/jboss-cache-cluster.xml

cache.engine.implementation = ${cache.engine.default}

cacheable.objects = net.jforum.repository.BBCodeRepository, \
net.jforum.repository.RankingRepository, \
net.jforum.repository.SmiliesRepository, \
net.jforum.repository.ForumRepository, \
net.jforum.repository.TopicRepository, \
net.jforum.SessionFacade, \
net.jforum.repository.PostRepository, \
net.jforum.repository.Tpl, \
net.jforum.repository.RolesRepository, \
net.jforum.repository.SecurityRepository, \
net.jforum.repository.BanlistRepository

这里涉及到两个接口,一个事CacheEngine,一个是Cacheable
CacheEngine定义了用来存放缓存数据的机制,Cacheable表示可存放缓存的对象。
目前CacheEngine有三个实现类,DefaultCacheEngine,EhCacheEngine,JBossCacheEngine。
Jforum默认的是使用defualtCacheEngine,我们也可以通过配置cache.engine.implementation来使用自定义的缓存引擎。

备注:DefaultCahceEngine中add(String key,Object value)的实现方式很奇怪。CacheEngine中的注释是说该方法使用Dummy对应的cache来存储value,而DefaultCacheEngine中直接是使用存放Cache的HashMap来实现,这样这个value的值就和Cache同一等级了,但是依照接口的说明,Value应该是存放在Cache中的,此为疑点。

Repository为Cacheable的子类,分别对应笑脸、文章等缓存的仓库。

3:设置页面模版引擎,JForum使用的FreeMarker来实现论坛展现模版定制的功能,使普通的美术设计人员也能够通过修改默认模版来定制论坛的展现方式。

4:调用loadConfigStuff(),载入页面URL与参数的配置;国际化配置文件;URL与模版具体文件的具体文件路径与名字的对应配置,详 见\WEB-INF\config\templatesMapping.properties文件;载入BB Code配置。

JForumBaseServlet.startApplication().
1:载入通用的SQL查询语句
2:载入任务配置文件信息(quartz)
3:初始化验证器
4:加载DAO的实现
5:记载配置文件修改监听
6:初始化索引(lunece)
7:开始summary job

初始化论坛的基本数据,比如笑脸等数据。

分享到:
评论

相关推荐

    开源BBS--JForum 源码

    开源BBS--JForum 源码 开源BBS--JForum 源码

    JForum-2.1.6-src.zip_JForum-2.1.4_JForum-2.1.6-src_ejb_jforum_jf

    JForum 是一个功能强大 ,易于管理的论坛。它的设计完全遵从MVC设计模式,能够在任何Servlet容器与EJB服务器上运行。而且可以轻松的定制与扩展JForum论坛。

    jforum-2.1.8-src.zip

    jforum-2.1.8-src.zip,源码

    jforum 源码

    JForum 开源代码,是很好的freeMaker学习素材。

    jforum-2.1.8-src.zip_JForum-2.1.8_The Watch_jforum_jforum 2.1.8-

    Personally think is the best forum for the Java source code, open source, you can watch the official website of the latest developments http://www.jforum.net/

    jforum 2.1.9源码

    jforum 2.1.9源码 内附安装开发文档

    jforum-2.1.8-编译代码.zip

    jforum-2.1.8-编译代码.zip

    jforum2论坛源码

    配合JMeter实战,搭建性能测试环境,可以搭配jmeter书籍作为测试环境使用,jforum2源码可二次开发

    JForum v2.1.9 源码版

    JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...

    jforum说明文档 源码解析 单点登录 jforum缓存

    jforum的开发文档,以及源码解析 数据库 重要配置文件和包,缓存 权限控制 单点登录

    JForum-2.1.4.rar_JForum-2.1.4_java 论坛源码_jforum_论坛源码_论坛网站源码

    个人认为是最好的Java论坛源码,开源的,可以到官方网站看最新动态http://www.jforum.net/

    JForum 2.1.9 源码包.zip

    JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...

    JForum 3.0 beta 源码包.zip

    JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...

    JForum_SSO_-_JForum单点登陆原理与配置

    对于我们已有的WEB应用中的用户,若该用户已经登陆,并通过 联结迁移到JForum页面时,...但由于分属于2个不同的系统,所以它们之间不能共用同一套Session,这就需要使用一种特殊的机制来实现它们之间的互相通信。

    Jforum-2.1.9

    Jforum-2.1.9-myeclipse导入myeclipse直接使用

    jforum3.0可以运行的源码

    jforum3.0从SVN上导出来的时候缺少jar包,经过不断的测试与添加终于能在myeclipse下面运行啦。可是现在的jforum3.0仍然是beat版本的。有许多BUG。如果不介意的话可以下载回去研究一下哦。我上传的东西没有jar包哦,...

    开源jsp论坛jforum-2.1.9源码带mysql数据库文件

    开源论坛jforum-2.1.9源码,带数据库

    jforum-2.5.0修正版

    2.启动tomcat, 访问如:http://172.18.20.164:8080/install.jsp,设置相关参数,此是在WEB-INF/config下会生成jforum-custom.conf配置文件。 为了解决中文问题修改了WebRequestContext.java类。 第149行,default....

    jforum-2.1.9.war

    从网上下了很多jforum-2.1.9都是无法进入主题,此资源是从GitHub获取的源码重新编译打包,实测可用

Global site tag (gtag.js) - Google Analytics