提交 3d83f869 编写于 作者: S Sam Brannen

Fix Javadoc for SmartLifecycle.DEFAULT_PHASE regarding ordering

Closes gh-23956
上级 088a6533
/* /*
* Copyright 2002-2018 the original author or authors. * Copyright 2002-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -17,19 +17,21 @@ ...@@ -17,19 +17,21 @@
package org.springframework.context; package org.springframework.context;
/** /**
* An extension of the {@link Lifecycle} interface for those objects that require to * An extension of the {@link Lifecycle} interface for those objects that require
* be started upon ApplicationContext refresh and/or shutdown in a particular order. * to be started upon {@code ApplicationContext} refresh and/or shutdown in a
* The {@link #isAutoStartup()} return value indicates whether this object should * particular order.
*
* <p>The {@link #isAutoStartup()} return value indicates whether this object should
* be started at the time of a context refresh. The callback-accepting * be started at the time of a context refresh. The callback-accepting
* {@link #stop(Runnable)} method is useful for objects that have an asynchronous * {@link #stop(Runnable)} method is useful for objects that have an asynchronous
* shutdown process. Any implementation of this interface <i>must</i> invoke the * shutdown process. Any implementation of this interface <i>must</i> invoke the
* callback's {@code run()} method upon shutdown completion to avoid unnecessary * callback's {@code run()} method upon shutdown completion to avoid unnecessary
* delays in the overall ApplicationContext shutdown. * delays in the overall {@code ApplicationContext} shutdown.
* *
* <p>This interface extends {@link Phased}, and the {@link #getPhase()} method's * <p>This interface extends {@link Phased}, and the {@link #getPhase()} method's
* return value indicates the phase within which this Lifecycle component should * return value indicates the phase within which this {@code Lifecycle} component
* be started and stopped. The startup process begins with the <i>lowest</i> phase * should be started and stopped. The startup process begins with the <i>lowest</i>
* value and ends with the <i>highest</i> phase value ({@code Integer.MIN_VALUE} * phase value and ends with the <i>highest</i> phase value ({@code Integer.MIN_VALUE}
* is the lowest possible, and {@code Integer.MAX_VALUE} is the highest possible). * is the lowest possible, and {@code Integer.MAX_VALUE} is the highest possible).
* The shutdown process will apply the reverse order. Any components with the * The shutdown process will apply the reverse order. Any components with the
* same value will be arbitrarily ordered within the same phase. * same value will be arbitrarily ordered within the same phase.
...@@ -44,9 +46,11 @@ package org.springframework.context; ...@@ -44,9 +46,11 @@ package org.springframework.context;
* *
* <p>Any {@code Lifecycle} components within the context that do not also * <p>Any {@code Lifecycle} components within the context that do not also
* implement {@code SmartLifecycle} will be treated as if they have a phase * implement {@code SmartLifecycle} will be treated as if they have a phase
* value of 0. That way a {@code SmartLifecycle} implementation may start * value of {@code 0}. This allows a {@code SmartLifecycle} component to start
* before those {@code Lifecycle} components if it has a negative phase value, * before those {@code Lifecycle} components if the {@code SmartLifecycle}
* or it may start after those components if it has a positive phase value. * component has a negative phase value, or the {@code SmartLifecycle} component
* may start after those {@code Lifecycle} components if the {@code SmartLifecycle}
* component has a positive phase value.
* *
* <p>Note that, due to the auto-startup support in {@code SmartLifecycle}, a * <p>Note that, due to the auto-startup support in {@code SmartLifecycle}, a
* {@code SmartLifecycle} bean instance will usually get initialized on startup * {@code SmartLifecycle} bean instance will usually get initialized on startup
...@@ -55,6 +59,7 @@ package org.springframework.context; ...@@ -55,6 +59,7 @@ package org.springframework.context;
* *
* @author Mark Fisher * @author Mark Fisher
* @author Juergen Hoeller * @author Juergen Hoeller
* @author Sam Brannen
* @since 3.0 * @since 3.0
* @see LifecycleProcessor * @see LifecycleProcessor
* @see ConfigurableApplicationContext * @see ConfigurableApplicationContext
...@@ -63,9 +68,10 @@ public interface SmartLifecycle extends Lifecycle, Phased { ...@@ -63,9 +68,10 @@ public interface SmartLifecycle extends Lifecycle, Phased {
/** /**
* The default phase for {@code SmartLifecycle}: {@code Integer.MAX_VALUE}. * The default phase for {@code SmartLifecycle}: {@code Integer.MAX_VALUE}.
* <p>This is different from the common phase 0 associated with regular * <p>This is different from the common phase {@code 0} associated with regular
* {@link Lifecycle} implementations, putting the typically auto-started * {@link Lifecycle} implementations, putting the typically auto-started
* {@code SmartLifecycle} beans into a separate later shutdown phase. * {@code SmartLifecycle} beans into a later startup phase and an earlier
* shutdown phase.
* @since 5.1 * @since 5.1
* @see #getPhase() * @see #getPhase()
* @see org.springframework.context.support.DefaultLifecycleProcessor#getPhase(Lifecycle) * @see org.springframework.context.support.DefaultLifecycleProcessor#getPhase(Lifecycle)
...@@ -115,7 +121,8 @@ public interface SmartLifecycle extends Lifecycle, Phased { ...@@ -115,7 +121,8 @@ public interface SmartLifecycle extends Lifecycle, Phased {
/** /**
* Return the phase that this lifecycle object is supposed to run in. * Return the phase that this lifecycle object is supposed to run in.
* <p>The default implementation returns {@link #DEFAULT_PHASE} in order to * <p>The default implementation returns {@link #DEFAULT_PHASE} in order to
* let stop callbacks execute after regular {@code Lifecycle} implementations. * let {@code stop()} callbacks execute after regular {@code Lifecycle}
* implementations.
* @see #isAutoStartup() * @see #isAutoStartup()
* @see #start() * @see #start()
* @see #stop(Runnable) * @see #stop(Runnable)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册