Explicit notes for @Bean on static methods, private methods, and Java 8 default methods
Also includes an explicit note on stop vs destroy callbacks for Lifecycle beans. Issue: SPR-13118 Issue: SPR-12882 Issue: SPR-12345 Issue: SPR-11671
This commit is contained in:
@@ -50,29 +50,33 @@ public interface Lifecycle {
|
||||
|
||||
/**
|
||||
* Start this component.
|
||||
* Should not throw an exception if the component is already running.
|
||||
* <p>In the case of a container, this will propagate the start signal
|
||||
* to all components that apply.
|
||||
* <p>Should not throw an exception if the component is already running.
|
||||
* <p>In the case of a container, this will propagate the start signal to all
|
||||
* components that apply.
|
||||
* @see SmartLifecycle#isAutoStartup()
|
||||
*/
|
||||
void start();
|
||||
|
||||
/**
|
||||
* Stop this component, typically in a synchronous fashion, such that
|
||||
* the component is fully stopped upon return of this method. Consider
|
||||
* implementing {@link SmartLifecycle} and its {@code stop(Runnable)}
|
||||
* variant in cases where asynchronous stop behavior is necessary.
|
||||
* Stop this component, typically in a synchronous fashion, such that the component is
|
||||
* fully stopped upon return of this method. Consider implementing {@link SmartLifecycle}
|
||||
* and its {@code stop(Runnable)} variant when asynchronous stop behavior is necessary.
|
||||
* <p>Note that this stop notification is not guaranteed to come before destruction: On
|
||||
* regular shutdown, {@code Lifecycle} beans will first receive a stop notification before
|
||||
* the general destruction callbacks are being propagated; however, on hot refresh during a
|
||||
* context's lifetime or on aborted refresh attempts, only destroy methods will be called.
|
||||
* <p>Should not throw an exception if the component isn't started yet.
|
||||
* <p>In the case of a container, this will propagate the stop signal
|
||||
* to all components that apply.
|
||||
* <p>In the case of a container, this will propagate the stop signal to all components
|
||||
* that apply.
|
||||
* @see SmartLifecycle#stop(Runnable)
|
||||
* @see org.springframework.beans.factory.DisposableBean#destroy()
|
||||
*/
|
||||
void stop();
|
||||
|
||||
/**
|
||||
* Check whether this component is currently running.
|
||||
* <p>In the case of a container, this will return {@code true}
|
||||
* only if <i>all</i> components that apply are currently running.
|
||||
* <p>In the case of a container, this will return {@code true} only if <i>all</i>
|
||||
* components that apply are currently running.
|
||||
* @return whether the component is currently running
|
||||
*/
|
||||
boolean isRunning();
|
||||
|
||||
Reference in New Issue
Block a user