- 浏览: 47490 次
- 性别:
- 来自: 无锡
最新评论
-
RainWu:
...
chx 学习jForum笔记十四 数据表四 jforum_groups及jforum_user_groups -
c_huabo:
这都被你发现了!!!
chx 学习jForum笔记十七 实现中文搜索 -
beermonkey:
感谢啊。。。。
chx 学习jForum笔记十七 实现中文搜索
2010.12.7 继续查找关键字MostUsersEverOnline
下面这段是存在于net.jforum.view.forum/ForumAction.java中
public void list()
{
this.setTemplateName(TemplateKeys.FORUMS_LIST); //这句没看懂,从字面看应该是设置模板的名称
this.context.put("allCategories", ForumCommon.getAllCategoriesAndForums(true));//页面显示的所有分类和板块(检查有无未读的贴子)
this.context.put("topicsPerPage", Integer.valueOf(SystemGlobals.getIntValue(ConfigKeys.TOPICS_PER_PAGE)));
this.context.put("rssEnabled", SystemGlobals.getBoolValue(ConfigKeys.RSS_ENABLED));
this.context.put("totalMessages", Integer.valueOf(ForumRepository.getTotalMessages()));//页面显示的总文章数
this.context.put("totalRegisteredUsers", ForumRepository .totalUsers()); //页面显示的总注册人数
this.context.put("lastUser", ForumRepository.lastRegisteredUser()); //页面显示的最后注册用户
SimpleDateFormat df = new SimpleDateFormat(SystemGlobals.getValue(ConfigKeys.DATE_TIME_FORMAT), Locale.getDefault());
GregorianCalendar gc = new GregorianCalendar();
this.context.put("now", df.format(gc.getTime())); //页面显示的当前时间
this.context.put("lastVisit", df.format(SessionFacade.getUserSession().getLastVisit())); //应该是取最后登录时间
this.context.put("forumRepository", new ForumRepository()); //暂时没看懂,字面是应该页面显示的主体
// Online Users
this.context.put("totalOnlineUsers", Integer.valueOf(SessionFacade.size())); //页面显示的当前在线人数 ,后面有再次设置,不知此句是否是多余的。
int aid = SystemGlobals.getIntValue(ConfigKeys.ANONYMOUS_USER_ID); //取游客ID
List<UserSession> onlineUsersList = SessionFacade.getLoggedSessions(); //取当前用户列表
// Check for an optional language parameter
UserSession currentUser = SessionFacade.getUserSession(); //取当前用户
if (currentUser.getUserId() == aid) { //当前用户为游客
String lang = this.request.getParameter("lang"); //语言
if (lang != null && I18n.languageExists(lang)) {
currentUser.setLang(lang); //设置语言
}
}
// If there are only guest users, then just register
// a single one. In any other situation, we do not
// show the "guest" username
if (onlineUsersList.isEmpty()) {
UserSession us = new UserSession();
us.setUserId(aid);
us.setUsername(I18n.getMessage("Guest"));
us.setStartTime(new Date(System.currentTimeMillis()));
onlineUsersList.add(us);
}
int registeredSize = SessionFacade.registeredSize(); //取在线会员
int anonymousSize = SessionFacade.anonymousSize(); //取在线游客
int totalOnlineUsers = registeredSize + anonymousSize; //取在线人数
this.context.put("userSessions", onlineUsersList); //设置页面显示的在线用户列表
this.context.put("totalOnlineUsers", Integer.valueOf(totalOnlineUsers));//设置页面显示的在线会员
this.context.put("totalRegisteredOnlineUsers", Integer.valueOf(registeredSize)); //设置页面显示的在线游客
this.context.put("totalAnonymousUsers", Integer.valueOf(anonymousSize)); //设置页面显示的在线人数
// Most users ever online 峰值人数和时间
MostUsersEverOnline mostUsersEverOnline = ForumRepository.getMostUsersEverOnline(); //取记录的峰值人数和时间
if (totalOnlineUsers > mostUsersEverOnline.getTotal()) { //当前在线人数大于峰值人数
mostUsersEverOnline.setTotal(totalOnlineUsers); //设置峰值人数
mostUsersEverOnline.setTimeInMillis(System.currentTimeMillis()); //设置峰值时间
ForumRepository.updateMostUsersEverOnline(mostUsersEverOnline); //将峰值人数和时间记入数据表
}
this.context.put("mostUsersEverOnline", mostUsersEverOnline); //设置页面显示的峰值人数和时间
}
小结:
峰值人数的检查和更新,应该是在这里完成的。
从笔记一到笔记六,完成了对峰值人数和时间的整个分析。
ForumRepository. getMostUsersEverOnline()//取峰值信息
此处会调用(MostUsersEverOnline)cache.get(FQN, MOST_USERS_ONLINE); //从缓存中取峰值人数
如果值为空,则通过 instance.loadMostUsersEverOnline(DataAccessDriver.getInstance().newConfigDAO());
调用了ForumRepository. loadMostUsersEverOnline(ConfigDAO cm)//从数据表读取峰值人数信息
如果当前在线总人数超过峰值,则会调用ForumRepository. updateMostUsersEverOnline(MostUsersEverOnline m) //设置峰值人数。
而此过程会通过ConfigDAO.insert(config)向参数数据表中插入新值或通过ConfigDAO.update(config)更新参数数据表中内容,并且cache.add(FQN, MOST_USERS_ONLINE, m); //修改缓存中的值
发表评论
-
chx 学习jForum笔记十九 jForum定时作业
2011-02-25 15:43 1014参照jforum原有的两个定时作业SummarySchedul ... -
chx 学习jForum笔记十八 jForum与ms sqlserver
2011-02-23 16:39 7844jForum的原生数据库是mysql,但对sqlserver也 ... -
chx 学习jForum笔记十七 实现中文搜索
2011-02-23 16:04 1924最初测试的时候中文搜索一直都不成功。所以以为要对源程序进行大幅 ... -
chx 学习jForum笔记十六 实现附件移植,添加附件时按钮无效的问题解决
2011-02-23 15:59 3160==背景== 原论坛附件存放于d:\res\cibfo ... -
chx 学习jForum笔记十五 实现用户及用户组同步
2011-02-23 15:25 1745==背景== 原先有一个随时维护的用户表rswk、权限表ci ... -
chx 学习jForum笔记十四 数据表四 jforum_groups及jforum_user_groups
2011-02-14 14:07 1486jforum_groups group_id ... -
chx 学习jForum笔记十三 数据表三 jforum_roles及jforum_role_values
2011-02-12 16:19 1312jforum_roles 权限表。是一张组与基本权限的对应表。 ... -
chx 学习jForum笔记十二 数据表二 jforum_categories及jforum_forums
2011-02-12 15:05 1432jforum_categories是子论坛的分类以下称为栏目。 ... -
chx 学习jForum笔记十一 实现单点登录SSO
2011-02-09 11:55 2006分为三部分: 1.导入原用户数据库. 2.修改SSO模块, ... -
chx 学习jForum笔记十 数据表一 jforum_users
2011-02-09 10:35 1278user_id bigint ... -
chx 学习jForum笔记九-ForumAction四,发现用户注册模块
2010-12-09 14:27 19982010.12.9接上午。继续看net.jforum.view ... -
chx 学习jForum笔记八-ForumAction三,发现用户认证模块。
2010-12-09 11:15 17212010.12.9。接昨天 在net.jforum.view ... -
chx 学习jForum笔记七-ForumAction二
2010-12-08 17:24 11692010.12.8 接昨天。 下面这句是存在于net.jfo ... -
chx 学习jForum笔记五-参数表的操作
2010-12-07 15:05 9982010.12.7 继续查找关键字MostUsersEverO ... -
chx 学习jForum笔记四
2010-12-06 15:21 10122010.12.6 接上午。在net.jforum.repos ... -
chx 学习jForum笔记三
2010-12-06 14:05 10442010.12.6 接上周日,继续。PermissionCon ... -
chx 学习jForum笔记二
2010-12-05 10:26 1249我的源程序是安道森练 ... -
chx 学习jForum笔记一
2010-12-05 09:37 1681目标:jForum二次开发,读懂源程序。 修改权限管理模块, ...
相关推荐
《jForum与MS SQLServer整合学习笔记》 jForum是一款基于Java的开源论坛系统,它以其高度可定制性、灵活性和强大的功能深受开发者喜爱。在本文中,我们将深入探讨如何将jForum与Microsoft SQL Server(简称MS SQL...
【北京大学计算机科学高级计算机系统结构课件chx14-arch08-mm1】主要探讨了计算机系统中的主存,特别是动态随机存取内存(DRAM)的延迟问题以及解决策略。这一讲义由北京大学计算机科学技术系和微处理器研究开发中心...
北京大学的高级计算机系统结构课程深入探讨了指令级并行处理,特别是数据相关的概念,这是优化处理器性能的关键。在本课件中,主要讨论了三种数据相关类型:真数据相关(Data dependences)、名字相关(Name ...
CHX-I防火墙官方教程-附带翻译终稿.pdf
在深度指令流水线中,如UltraSPARC-III,分支地址计算和开始解码阶段与完全解码、指令导向功能单元、寄存器读取、整数执行等阶段之间的延迟可能导致显著的性能下降。 总的来说,这篇内容深入讨论了如何通过指令级...
【北京大学高级计算机系统结构课件】主要探讨了多线程技术在提高计算机系统性能上的应用。随着单一顺序控制线程中指令级并行度的挖掘日益困难,多线程处理技术(Multithreading)应运而生,它利用线程级并行(TLP)...
点数较多,以下将详细解析相关知识点: **高级计算机系统结构** 这门课程涉及的是计算机系统的核心设计原理,包括微处理器、流水线技术、指令级并行性(ILP)以及超长指令字(VLIW)架构。课程的重点在于理解和优化...
"高级计算机系统结构-多处理器系统" 本资源是北京大学计算机科学技术系计算机系统结构教研室高等计算机系统结构(第九讲)的课件,讲解多处理器系统的相关知识内容。 多处理器系统的发展 多处理器系统的发展可以...
在执行阶段,功能部件开始操作并通知记分板执行已完成;在写结果阶段,确保没有WAR冒险。 通过这样的机制,记分板可以有效地管理指令执行的顺序,提高处理器效率,减少由于数据和控制相关带来的性能损失。这种技术...
HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网
【计算机系统结构与高速缓存】 在现代计算机体系结构中,高速缓存(Cache)扮演着至关重要的角色,它的存在主要是为了缓解处理器(CPU)与主内存(DRAM)之间速度不匹配的问题。随着技术的发展,处理器的速度不断...
使用基于密度泛函理论(DFT)的Cast叩量子力学计算程序模块,对CHX(X=0-4)在Y-AI2O3(ll0D)表面吸附的位置,空间结构和能量进行了理论计算。计算结果表明.CHx=(x=0-3)与表面形成强的相互作用。CH3,CH2物种处于表面八面体...
CHX-I防火墙官方教程-附带翻译借鉴.pdf
标题与描述中的关键词“CHX TNF JNK”揭示了在细胞凋亡机制中的相互作用,尤其是关于人类肝癌细胞对肿瘤坏死因子α(TNFα)诱导的凋亡反应。这一研究聚焦于理解CHX(环己亚胺)、TNFα以及JNK(c-Jun N端激酶)三者...
本软件是一个模似网卡和集线器的工具,可以模似集线器功能,实现VPN的功能。使得系统把此软件识别成一块网卡,有了这个东西,只要可以访问外网,都可以连接到虚拟HUB上与其他电脑组成局域网,在此虚拟的局域...
【标题】"chx99个人主页源码_chx99.zip" 提供的是一个名为 chx99 的个人主页的源代码。源码通常包含了网站设计、布局、功能实现等核心部分,对于开发者而言是了解网站工作原理、学习前端技术或者进行二次开发的重要...
根据给定的文件信息,我们可以提炼出以下关于CHX2095的详细IT知识: ### CHX2095概述 **CHX2095**是一款由United Monolithic Semiconductors S.A.S.制造的频率倍增器集成电路(IC),其工作频率范围在7.5至30GHz...
通过深入研究`chx-0.0.2`中的文件,开发者可以全面了解CHX的工作方式,并将其应用于自己的Web开发项目中。同时,参与开源社区,与全球的开发者交流,共同推动CHX Hyper eXpressor 的发展,也是提升自身技能和影响力...
CHX-3大手臂大法兰.SLDDRW