强烈疑惑,请 banq 大哥一定尽快看看

07-03-21 jdonfans
分析主题列表时一个主题缓存丢失的运行如下:

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
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
2007-03-21 07:52
一定是我有什么地方没有分析到,或者是 IoC,或者是 AOP 什么的,源码下载的是官方最新提供的,怎么都用不起来。只有下载那个 jdon_jboss_mysql 的包才能用,但是里面没源码,请 banq 分析指点一下,谢谢了~!

jdonfans
2007-03-21 08:32
又看了下配置, 好像是靠 ForumDaoCache 等来介入的, 自己会继续探索, banq 大哥看到的时候也请指点一下程序处理的大概流程,那样可能会更清楚,更直接。reference 我基本上看完了的,但是好像没有详细说明这些的

嗯 ... 基本清楚了。有新问题再请教

[该贴被jdonfans于2007年03月21日 08:48修改过]

banq
2007-03-21 08:48
第一个问题是依靠Ioc注射.

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

猜你喜欢
2Go 1 2 下一页