From 35d2ab3bf9d3a85c4557549127f32b7c384f6c56 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 29 Jul 2011 21:39:42 +0000 Subject: [PATCH] Document Lifecycle#stop concurrency semantics Issue: SPR-8570 --- .../main/java/org/springframework/context/Lifecycle.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/org.springframework.context/src/main/java/org/springframework/context/Lifecycle.java b/org.springframework.context/src/main/java/org/springframework/context/Lifecycle.java index 1d489a80b9..748bb35041 100644 --- a/org.springframework.context/src/main/java/org/springframework/context/Lifecycle.java +++ b/org.springframework.context/src/main/java/org/springframework/context/Lifecycle.java @@ -55,10 +55,14 @@ public interface Lifecycle { void start(); /** - * Stop this component. - * Should not throw an exception if the component isn't started yet. + * 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. + *

Should not throw an exception if the component isn't started yet. *

In the case of a container, this will propagate the stop signal * to all components that apply. + * @see SmartLifecycle#stop(Runnable) */ void stop();