JiveJdon Community Forums
在线311人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 开源JdonFramework及其应用案例论坛
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 5 回复 / 1
 发表新帖子   回复该主题贴
jdonfans

悄悄话
发表文章: 60
注册时间: 2007年01月16日 11:42
强烈疑惑,请 banq 大哥一定尽快看看 2007年03月21日 07:10 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 jivejdon(54)     
分析主题列表时一个主题缓存丢失的运行如下:

ThreadListAction:
findModelIFByKey(request, dataKey);
|
ForumMessageShell:
forumMessageService.getThread((Long)key);
|
MessageKernel:
messageKernel.getThread(threadId);
|
MessageRepository:
messageRepository.getThread(threadId);
|
ForumBuilder:
forumBuilder.getThread(threadId, null);
|
MessageDaoSql:
messageDao.getThread(threadId);
jdonfans

悄悄话
发表文章: 60
注册时间: 2007年01月16日 11:42
re: 2007年03月21日 07:11 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
超长的调用链先不说,在 ForumBuilder 有下面这句:

if (forumThread.isEmbedded()) return forumThread;

但是我没有看到什么地方设置了 embedded 为 true,所以其后代码永远必须执行

logger.debug("<Embed ForumThread----> start, threadId=" + threadId);
if (forum == null) forum = getForum(forumThread.getForum().getForumId());
forumThread.setForum(forum);

我没有看到 Thread 是如何共享同一个 Forum 的,难道每个 Thread 都要重新查询?
jdonfans

悄悄话
发表文章: 60
注册时间: 2007年01月16日 11:42
re:强烈疑惑,请 banq 大哥一定尽快看看 2007年03月21日 07:52 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
一定是我有什么地方没有分析到,或者是 IOC,或者是 AOP 什么的,源码下载的是官方最新提供的,怎么都用不起来。只有下载那个 jdon_jboss_mysql 的包才能用,但是里面没源码,请 banq 分析指点一下,谢谢了~!
jdonfans

悄悄话
发表文章: 60
注册时间: 2007年01月16日 11:42
re:强烈疑惑,请 banq 大哥一定尽快看看 2007年03月21日 08:32 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
又看了下配置, 好像是靠 ForumDaoCache 等来介入的, 自己会继续探索, banq 大哥看到的时候也请指点一下程序处理的大概流程,那样可能会更清楚,更直接。reference 我基本上看完了的,但是好像没有详细说明这些的

嗯 ... 基本清楚了。有新问题再请教
[该贴被jdonfans于2007年03月21日 08:48修改过]
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
回复:强烈疑惑,请 banq 大哥一定尽快看看 2007年03月21日 08:48 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
第一个问题是依靠IOC注射.

第二个setEmbedded应该是在forumBuilder等地方有设置.
jdonfans

悄悄话
发表文章: 60
注册时间: 2007年01月16日 11:42
re: 2007年03月21日 15:57 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
谢谢 banq 的回复,最开始我是忽略了 cache filter,后来看了,原来是 cache filter 继承了 dao,然后先通过 containerUtile 在 IOC 容器中找,找不到才查询数据库,所以完成了内存对象的共享.不过觉得有点不是很 smart,不知道可不可以通过更改 modle 实现能更智能一点。

对于 setEmbedded 还没找到在什么地方有设置
这个主题有 5 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam