关于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>的?
多谢~~