在看一个开源ESB项目MULE的源代码的时候遇到一个问题,请大家帮忙
mule有一个类,叫AbstractOutboundRouter,在里面有个dispatch方法,方法里面有这么一行代码
TransactionCallback cb = new TransactionCallback()
而TransactionCallback却是一个interface...我被这个用法搞糊涂了,在java里面,interface不是不能被实例化的么?那为什么他这里却能这样用呢?
TransactionCallback的定义如下:
package org.mule.api.transaction;
public interface TransactionCallback
{
Object doInTransaction() throws Exception;
}
------解决方案--------------------