/** * The <code>BootService</code> is an interface to all remote, which need to boot when plugin mechanism begins to work. * {@link #boot()} will be called when <code>BootService</code> start up. */ publicinterfaceBootService { voidprepare()throws Throwable;
voidboot()throws Throwable;
voidonComplete()throws Throwable;
voidshutdown()throws Throwable;
/** * {@code BootService}s with higher priorities will be started earlier, and shut down later than those {@code BootService}s with lower priorities. * * @return the priority of this {@code BootService}. */ defaultintpriority() { return0; } }
/** * Notify the implementation, if there is nothing fetched from the queue. This could be used as a timer to trigger * reaction if the queue has no element. */ defaultvoidnothingToConsume() { return; } }