mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Fix for Issue 35 Connection pool leak with findFutureRowCount(),
findFutureList() and findFutureIds()
This commit is contained in:
@@ -4,25 +4,34 @@ import java.util.concurrent.FutureTask;
|
||||
|
||||
import com.avaje.ebean.FutureRowCount;
|
||||
import com.avaje.ebean.Query;
|
||||
import com.avaje.ebean.Transaction;
|
||||
|
||||
/**
|
||||
* Future implementation for the row count query.
|
||||
*/
|
||||
public class QueryFutureRowCount<T> extends BaseFuture<Integer> implements FutureRowCount<T> {
|
||||
|
||||
private final Query<T> query;
|
||||
private final CallableQueryRowCount<T> call;
|
||||
|
||||
public QueryFutureRowCount(Query<T> query, FutureTask<Integer> futureTask) {
|
||||
super(futureTask);
|
||||
this.query = query;
|
||||
public QueryFutureRowCount(CallableQueryRowCount<T> call ) {
|
||||
super(new FutureTask<Integer>(call));
|
||||
this.call = call;
|
||||
}
|
||||
|
||||
public FutureTask<Integer> getFutureTask() {
|
||||
return futureTask;
|
||||
}
|
||||
|
||||
public Transaction getTransaction() {
|
||||
return call.transaction;
|
||||
}
|
||||
|
||||
public Query<T> getQuery() {
|
||||
return query;
|
||||
return call.query;
|
||||
}
|
||||
|
||||
public boolean cancel(boolean mayInterruptIfRunning) {
|
||||
query.cancel();
|
||||
call.query.cancel();
|
||||
return super.cancel(mayInterruptIfRunning);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user