摘要: TaskEngine是线程任务管理器,是一个简单的线程池。在TaskEngine中启动设置了一个消息管道taskList。客户可以taskList里放入要执行的task,可谓是消息的生产者;另外线程池中的线程workers负责从taskList中取出task,如果taskList中没有task,那它就阻塞(Block),直到taskList中有task,因为这些task本身也是线程,因此它取出后就直接运行。 TaskEngine示意图: TaskEngine的类图如下:a) 其中taskTimer是一个定时器,结合ScheduledTask类,周期性的向taskList中addTa... 阅读全文
posted @ 2012-04-26 20:43 eleven-hu 阅读(771) 评论(0) 推荐(0)
摘要: 在JIVE论坛中,用户可能对某个主题很感兴趣,于是关注该主题。关注是一种跟踪主题变化的方法,一旦主题有了更新(添加新帖子等),用户便能察觉到。 关注的方式有两种方式:默认方式为“被动关注”,当主题更新时,关注的用户不被显示的通知,而是当用户再次登录时,才被告知此主题已被更新。“主动关注”,一旦主题更新,关注用户即受到邮件通知。特别的,该邮件包含该主题的url链接。 随着用户关注的主题的增多,系统的关注数量会超出系统的负载。因此,当某主题在一定时间内(默认为30天)没有更新,的关注会被自动删除。用户也可以显示的设置某个关注不能被自动删除。 电子邮件发送可能会因为网络原因而延迟,为了提高... 阅读全文
posted @ 2012-04-26 20:31 eleven-hu 阅读(138) 评论(0) 推荐(0)
摘要: 权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。想用一个权限系统解决所有的权限问题是不现实的。设计中将常常变化的“定制”特点比较强的部分判断为业务逻辑,而将常常相同的“通用”特点比较强的部分判断为权限逻辑就是基于这样的思路。名词: 粗粒度:表示类别级,即仅考虑对象的类别(the type of object),不考虑对象的某个特定实例。比如,用户管理中,创建、删除,对所有的用户都一视同仁,并不区分操作的具体对象实例。 细粒度:表示实例级,即需要考虑具体对象的实例(the instance of ... 阅读全文
posted @ 2012-04-25 13:55 eleven-hu 阅读(269) 评论(0) 推荐(0)