ISS is a multipurpose scheduling system built to manage performance-breaker tasks executions. Its purpose is to manage high loads of execution requests that could potentially stall or even break the JVM's performance and intelligently manage the execution of these tasks in a balanced synchronous/asynchronous way.
ISS has a built-in monitoring agent that switches from the normal preferred synchronous execution mode to an asynchronous queue-based mode. The switching decisions are based on performance data gathered by an internal statistical utility. It is highly configurable and thus offers great flexibility and tuning options for different operation scenarios. It has utilities to independently manage several queues and its API offers methods to get information on the queue state, including estimated time of execution of specific tasks in queue.
Before you start we recommend you read the How it works section. Although ISS was built for a very common need, its apparent complexity at first glance may be misleading. The aforementioned section explains in a simple, yet complete way what needs the ISS addresses, and how it achieves its goals.
After reading the previous you may find the FAQ useful. The questions we've been receiving have been compiled so a first time reader can get the full grip of what ISS can do for him.
ISS offers a simple API. The best way to start is to test-drive the Sample Application.
After this you should read the User Guide to see what ISS can do for you and how.
This project is compliant with the QAG specification witch serves as a quality insurance warranty.