Jukebox is a collection of reusable components that allow you to create a flexible server-side and middleware framework. It features semaphores and services (not quite your usual set), a Finite State Machine implementation based on Generics, a Datastream framework (data producers, consumers and loggers), and a JDK 1.6 compliant JMX framework based on Annotations.