Java Reference
In-Depth Information
public class TaskListener implements ManagedTaskListener {
@Inject
private Logger logger;
@Override
public void taskSubmitted(Future<?> future,
ManagedExecutorService executor, Object task) {
logger.info("Submitted " + task);
}
@Override
public void taskAborted(Future<?> future,
ManagedExecutorService executor, Object task, Throwable
exception) {
logger.log(Level.WARNING, "Aborted", exception);
}
@Override
public void taskDone(Future<?> future,
ManagedExecutorService executor, Object task, Throwable
exception) {
logger.info("Finished task " + task);
}
@Override
public void taskStarting(Future<?> future,
ManagedExecutorService executor, Object task) {
logger.info("Starting " + task);
}
}
As you can see, most of the implemented methods are getting the executor service, future,
and the task itself as parameters. We simply log the current status using an injected logger.
So, we've created one task, which is pretty static. Now, let's try to create another one,
which will contact a database. As before, we'll need a Callable implementation, which
returns a list of integers. This is shown in the following code snippet:
Search WWH ::




Custom Search