public interface FutureList<T> extends Future<List<T>>
It extends the java.util.concurrent.Future with the ability to cancel the query, check if it is finished and get the resulting list waiting for the query to finish (ie. the standard features of java.util.concurrent.Future).
A simple example:
// create a query to find all orders
Query<Order> query = DB.find(Order.class);
// execute the query in a background thread
// immediately returning the futureList
FutureList<Order> futureList = query.findFutureList();
// do something else ...
if (!futureList.isDone()){
// we can cancel the query execution. This will cancel
// the underlying query if that is supported by the JDBC
// driver and database
futureList.cancel(true);
}
if (!futureList.isCancelled()){
// wait for the query to finish and return the list
List<Order> list = futureList.get();
...
}
Modifier and Type | Method and Description |
---|---|
Query<T> |
getQuery()
Return the query that is being executed by a background thread.
|
List<T> |
getUnchecked()
Same as
Future.get() but wraps InterruptedException and ExecutionException in the
unchecked PersistenceException. |
List<T> |
getUnchecked(long timeout,
TimeUnit unit)
Same as
Future.get(long, java.util.concurrent.TimeUnit) but wraps InterruptedException
and ExecutionException in the unchecked PersistenceException. |
List<T> getUnchecked()
Future.get()
but wraps InterruptedException and ExecutionException in the
unchecked PersistenceException.javax.persistence.PersistenceException
- when a InterruptedException or ExecutionException occurs.List<T> getUnchecked(long timeout, TimeUnit unit) throws TimeoutException
Future.get(long, java.util.concurrent.TimeUnit)
but wraps InterruptedException
and ExecutionException in the unchecked PersistenceException.TimeoutException
- if the wait timed outjavax.persistence.PersistenceException
- if a InterruptedException or ExecutionException occurs.Copyright © 2019. All rights reserved.