定义
public abstract class ResponseServiceTemplate<T> {
public abstract T run();
public FastbootResponse<T> execute() {
FastbootResponse fastResponse = new FastbootResponse();
try {
T result = run();
fastResponse.setResult(result);
return fastResponse;
} catch (Exception e) {
LOGGER.error("Failed to run callback.", e);
throw e;
}
}
}
使用
return new ResponseServiceTemplate<Void>() {
@Override
public Void run() {
//todo anything
return null;
}
}.execute();