Package com.virtuosotechnologies.lib.asyncjob

Asynchronous job manager.


Interface Summary
AsyncJob A job that can be run asynchronously.
AsyncJobExecution An object that tracks an execution of a single AsyncJob.
AsyncJobListener AsyncJob related listeners
AsyncJobProgressReporter An object that is passed to an AsyncJob during a run so it can report on its progress.
AsyncJobRunner Something that runs AsyncJobs.

Class Summary
AbstractAsyncJob Abstract base implementation of AsyncJob.
AbstractAsyncJobRunner Abstract base class for AsyncJobRunner.
AsyncJobCompletedEvent An event sent to an AsyncJobListener when a job has finished
AsyncJobEvent Base class for events emitted regarding AsyncJobs.
AsyncJobFailedEvent An event sent to a listener when a job has failed
AsyncJobProgressEvent An event sent to a listener when progress is updated
AsyncJobStartedEvent An event sent to a listener when a job has started.
BasicAsyncJobListener Empty implementation of AsyncJobListener.
BlockingAsyncJobRunner AsyncJobRunner that blocks on each job until it finishes.
ThreadSpawningAsyncJobRunner AsyncJobRunner that spawns a new thread for each job.
ThreadWorkerAsyncJobRunner AsyncJobRunner that queues jobs and runs them in a pool of threads.

Exception Summary
AsyncJobException Exception thrown by an AsyncJob
AsyncJobInterruptedException Exception thrown by an AsyncJob when it has been interrupted.

Package com.virtuosotechnologies.lib.asyncjob Description

Asynchronous job manager.


This package is part of Virtuoso Utilities.



Stable library. The classes and interfaces in this package are stable, but new ones may be added at any time.



This package provides a set of interfaces for talking about asynchronous tasks, and a set of simple classes for running tasks under the protocol. It provides facilities for progress reporting, completion processing and error handling. I expect these classes to be used most often in conjunction with classes in com.virtuosotechnologies.lib.swing to provide progress reporting for background tasks.