2016/02/07 - Apache Onami has been retired.

For more information, please explore the Attic.

User's Guide

To use, install the WarmUpModule in your Guice injector. To initiate the warm up, get the warm up stager and call the stage() method.

Injector injector = Guice.createInjector( WarmUpModule().newWarmUpModule() );
// ...
Stager<WarmUp> warmUpStager = injector.get( LifeCycleStageModule.key(WarmUp.class) );
warmUpStager.stage(); // causes all injected object's @WarmUp methods to get called

Of course, instead of getting the stager from the injector you can declare it as a dependency:

public class MyClass
{
    private final Stager<WarmUp> stager;

    @Inject
    public MyClass(Stager<WarmUp> stager)
    {
        this.stager = stager;
    }

    @AfterInjection
    public void start()
    {
        stager.stage();
    }
}