关于JiveJdon中MessageBuilder的问题

小弟不才,JiveJdon中MessageBuilder.java中的以下代码看不太明白,希望大家指点迷津。

public void asyncGetAccount(final ForumMessage forumMessage) throws Exception {
try {
logger.debug(" embed getAccount ");
// DomainMessage message =
// forumMessage.getDomainEvents().loadAccount(forumMessage);
FutureTask<Account> ft = new FutureTask(new Callable<Account>() {
public Account call() throws Exception {
Account account = accountFactory.getFullAccount(forumMessage.getAccount());
if (!account.isAnonymous()) {
// get messageCount of the account;
int count = messageQueryDao.getMessageCountOfUser(account.getUserIdLong());
account.setMessageCount(count);
}
return account;
}
});
ft.run();
forumMessage.getModelState().setFutureTask(ft);
} catch (Exception e) {
String error = e + " embedAccount forumMessageId=" + forumMessage.getMessageId();
logger.error(error);
throw new Exception(error);
}
}

问题:
FutureTask<Account> ft = new FutureTask(new Callable<Account>() ...
这里应该是一个匿名内部类的用法。我迷惑的是:内部类返回的应该是一个Callable的子类的实例。 我看了Account, Callable之间是没有继承关系的。 请问,这里由 FutureTask(new Callable<Account> 转换成 FutureTask<Account>的?

多谢~~

这是用来准备ForumMessage中Account对象值,forumMessage.getModelState().setFutureTask(ft)

由于Account中messageCount需要查询大量数据耗时,当初使用并行计算的futuretask专门计算,可提升性能,减少CPU占耗。

现在messageCount已经使用Domain events实现,这里没有改回,留个纪念吧。

Domain Events异步应用