JForum开源技术

     JForum架构是遵循MVC设计模式实现的,其中net.jforum.JForum类是其实现MVC设计模式的控制器,也就是说它是MVC中的“C”。查看net.jforum.JForum.java文件我们不难发现其实JForum.java文件是一个继承JForumBaseServlet.java的类,而JForumBaseServlet.java是继承HttpServlet的类。也就是说我们可以把JForum.java当作一个Servlet来看待。

  那么,初始化过程当中首先被调用的就是JForum.java中的init()函数,在init()函数中调用了super.init()以及super.startFrontController(),所以JForum启动的初始化过程还包括了他的基类JForumBaseServlet.java的启动过程。下面我们就来看看JForumBaseServlet.java在初始化的时候都做了那些事情。

  net.jforum.JForumBaseServlet.java的初始化:

  1、判断JForum论坛是否以调试模式启动运行,通过读取web.xmlnet.jforum.JForum的初始化参数“development”来确定。该值默认值为“true”,所以JForum论坛默认是以调试模式运行的。

  2、载入系统运行日志log4j的配置文件。

  3、调用ConfigLoader.startSystemglobals(appPath)读取\WEB-INF\config\SystemGlobals.properties的配置信息。SystemGlobals.properties的配置信息还是比较多的,基本上包括了JForum论坛系统所有的全局变量配置了,以后我们有机会再一一论述。

  4、调用ConfigLoader.startCacheEngine()启动系统缓存引擎。

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

  6、调用ModulesRepository.init(SystemGlobals.getValue(ConfigKeys.CONFIG_DIR)),载入程序模块映射。具体的配置文件是\WEB-INF\config\modulesMapping.properties,该文件描述了模块名与实现该模块功能的java类的对应关系。

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

  我们再来看看net.jforum.JForumBaseServlet.javastartFrontController()函数做了些什么。

  1、调用SystemGlobals.loadQueries(SystemGlobals.getValue(ConfigKeys.SQL_QUERIES_GENERIC))SystemGlobals.loadQueries(SystemGlobals.getValue(ConfigKeys.SQL_QUERIES_DRIVER))载入SQL语句。在JForum中为了支持多数据库,其所有的SQL语句都是放在配置文件当中的。

  2、载入quartz工作任务配置。关于quartz你可以参考这个连接:http://www.opensymphony.com/quartz/

  3、调用ConfigLoader.loadDaoImplementation()载入DAO实现类,这是实现多数据库支持的一种方式。关于实现多数据库支持还有更多更好的方法,例如:ibatisHibernate等。

  4、调用ConfigLoader.listenForChanges()加载需要监控其更新变化的文件,对文件的更新进行监控。

  5、调用ConfigLoader.startSearchIndexer()初始化论坛搜索引擎。

  6、调用ConfigLoader.startSummaryJob()启动论坛发帖汇总信息电子邮件发送任务。

  从上面的说明中可以看到net.jforum.JForumBaseServlet.java的初始化基本上包括了JForum的大部分初始化工作。

  下面我们回到net.jforum.JForum.java文件看看还有什么初始化工作。

  1、调用ForumStartup.startForumRepository()载入论坛相关信息到缓存中,包括论坛目录信息、用户信息、在线用户信息等。

  2、调用RankingRepository.loadRanks()载入论坛用户等级信息。

  3、调用SmiliesRepository.loadSmilies()载入表情符号信息。

  4、调用BanlistRepository.loadBanlist()载入阻止列表。

  到此为止JForum论坛系统的初始化过程结束

 

JForum學習官方文档网站:

http://jforum.net/doc/ImplementSSO

http://www.lifevv.com/java/doc/

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
附录A是JForum性能测试计划文档的下载链接。根据文档中的介绍,该性能测试计划旨在对JForum的性能进行评估和测试。这对于了解JForum在各种负载条件下的表现以及其各个功能的稳定性和可靠性非常重要。 性能测试计划文档包含了测试的目标和范围、测试环境的配置、测试用例的设计和实施以及测试结果的分析等内容。下载该文档可以帮助我们更好地了解JForum在实际使用中的性能表现,以及可能存在的瓶颈和问题,为进一步优化和改进JForum提供参考依据。 在进行性能测试前,我们需要先根据文档中提供的测试环境配置要求,搭建相应的测试环境,包括安装和配置JForum的服务器和数据库等。然后,根据测试用例的设计,模拟并生成各种使用情况下的负载和压力,对JForum进行全面的性能测试。 在进行测试时,我们需要记录测试过程中的各项指标,如响应时间、吞吐量、并发用户数等,以便后续的分析和比较。测试结果的分析将帮助我们评估JForum在不同负载下的性能表现,找出可能存在的性能瓶颈,并提供相应的改进措施。通过性能测试计划文档的下载和实施,可以为JForum的性能优化和改进提供重要的参考和依据。 总之,附录A中的性能测试计划文档将为我们评估和改进JForum的性能提供重要的指导和支持。通过下载该文档并按照其中的指导进行实施,我们可以更好地了解JForum在实际使用中的性能表现,并为其优化和改进提供有效的参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值