This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 4f7255a  Add more javadoc to ServiceSupport for implementators to know 
that they should override the doXXX methods.
4f7255a is described below

commit 4f7255af05a895ee932e5506605e55ceefd35de5
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Aug 23 18:25:44 2018 +0200

    Add more javadoc to ServiceSupport for implementators to know that they 
should override the doXXX methods.
---
 .../org/apache/camel/support/ServiceSupport.java   | 37 +++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git 
a/camel-core/src/main/java/org/apache/camel/support/ServiceSupport.java 
b/camel-core/src/main/java/org/apache/camel/support/ServiceSupport.java
index 9280f78..e4e4df7 100644
--- a/camel-core/src/main/java/org/apache/camel/support/ServiceSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/support/ServiceSupport.java
@@ -32,6 +32,11 @@ import org.slf4j.LoggerFactory;
  * <p/>
  * Implementations can extend this base class and implement {@link 
org.apache.camel.SuspendableService}
  * in case they support suspend/resume.
+ * <p/>
+ * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()}},
+ * {@link #doStop()}, etc. where you implement your logic. The methods {@link 
#start()}, {@link #stop()} should
+ * <b>NOT</b> be overriden as they are used internally to keep track of the 
state of this service and properly
+ * invoke the operation in a safe manner.
  *
  * @version 
  */
@@ -49,6 +54,12 @@ public abstract class ServiceSupport implements 
StatefulService {
 
     private String version;
 
+    /**
+     * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()},
+     * {@link #doStop()}, etc. where you implement your logic. The methods 
{@link #start()}, {@link #stop()} should
+     * <b>NOT</b> be overriden as they are used internally to keep track of 
the state of this service and properly
+     * invoke the operation in a safe manner.
+     */
     public void start() throws Exception {
         if (isStarting() || isStarted()) {
             // only start service if not already started
@@ -87,7 +98,13 @@ public abstract class ServiceSupport implements 
StatefulService {
             } 
         }
     }
-    
+
+    /**
+     * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()},
+     * {@link #doStop()}, etc. where you implement your logic. The methods 
{@link #start()}, {@link #stop()} should
+     * <b>NOT</b> be overriden as they are used internally to keep track of 
the state of this service and properly
+     * invoke the operation in a safe manner.
+     */
     public void stop() throws Exception {
         if (isStopped()) {
             LOG.trace("Service already stopped");
@@ -112,6 +129,12 @@ public abstract class ServiceSupport implements 
StatefulService {
         }
     }
 
+    /**
+     * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()},
+     * {@link #doStop()}, etc. where you implement your logic. The methods 
{@link #start()}, {@link #stop()} should
+     * <b>NOT</b> be overriden as they are used internally to keep track of 
the state of this service and properly
+     * invoke the operation in a safe manner.
+     */
     @Override
     public void suspend() throws Exception {
         if (!suspended.get()) {
@@ -134,6 +157,12 @@ public abstract class ServiceSupport implements 
StatefulService {
         }
     }
 
+    /**
+     * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()},
+     * {@link #doStop()}, etc. where you implement your logic. The methods 
{@link #start()}, {@link #stop()} should
+     * <b>NOT</b> be overriden as they are used internally to keep track of 
the state of this service and properly
+     * invoke the operation in a safe manner.
+     */
     @Override
     public void resume() throws Exception {
         if (suspended.get()) {
@@ -154,6 +183,12 @@ public abstract class ServiceSupport implements 
StatefulService {
         }
     }
 
+    /**
+     * <b>Important: </b> You should override the lifecycle methods that start 
with <tt>do</tt>, eg {@link #doStart()},
+     * {@link #doStop()}, etc. where you implement your logic. The methods 
{@link #start()}, {@link #stop()} should
+     * <b>NOT</b> be overriden as they are used internally to keep track of 
the state of this service and properly
+     * invoke the operation in a safe manner.
+     */
     @Override
     public void shutdown() throws Exception {
         if (shutdown.get()) {

Reply via email to