diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index c5c28259e9c3c486960bd7b2917cc237c9ad8188..c537cad3ac4a6950ff9b57e9a9fb0f64cded5e6c 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -430,7 +430,7 @@ public abstract class AbstractStage { * *
 	 * @Override
-	 * public void onStarting() {
+	 * protected void onStarting() {
 	 * 	super.onStarting();
 	 * 	// insert your code here
 	 * }
@@ -457,7 +457,7 @@ public abstract class AbstractStage {
 	 *
 	 * 
 	 * @Override
-	 * public void onTerminating() {
+	 * protected void onTerminating() {
 	 * 	// insert your code here
 	 * 	super.onTerminating();
 	 * }
@@ -466,7 +466,7 @@ public abstract class AbstractStage {
 	 * To throw a checked exception, wrap it to an unchecked exception, e.g. to an {@link IllegalArgumentException#IllegalArgumentException(String, Throwable)}.
 	 * Always pass the original exception to the new unchecked exception to allow easy debugging.
 	 */
-	public void onTerminating() {
+	protected void onTerminating() {
 		logger.trace(ON_STATE_CHANGE_MARKER, "Terminating {}", this);
 		if (newStateRequired(StageActivationState.TERMINATED)) {
 			this.addState(StageActivationState.TERMINATED, System.nanoTime());
diff --git a/src/main/java/teetime/framework/StageFacade.java b/src/main/java/teetime/framework/StageFacade.java
index 6dcec167b46b59e55a65411dfa0cc9e000bb1334..5289e2ad260d6d9e725fd60e4ae69c155938fdc9 100644
--- a/src/main/java/teetime/framework/StageFacade.java
+++ b/src/main/java/teetime/framework/StageFacade.java
@@ -114,4 +114,8 @@ public final class StageFacade {
 		stage.onStarting();
 	}
 
+	public void onTerminating(final AbstractStage stage) {
+		stage.onTerminating();
+	}
+
 }
diff --git a/src/main/java/teetime/framework/signal/TerminatingSignal.java b/src/main/java/teetime/framework/signal/TerminatingSignal.java
index b718ca3f972d723b8967c93914ca48559e1b1d94..7183a7cbac91b58ee5f5697d9fcf8ee61943459e 100644
--- a/src/main/java/teetime/framework/signal/TerminatingSignal.java
+++ b/src/main/java/teetime/framework/signal/TerminatingSignal.java
@@ -20,12 +20,13 @@ import java.util.Set;
 
 import teetime.framework.AbstractStage;
 import teetime.framework.InputPort;
+import teetime.framework.StageFacade;
 
 public final class TerminatingSignal implements ISignal {
 
 	@Override
 	public void trigger(final AbstractStage stage) {
-		stage.onTerminating();
+		StageFacade.INSTANCE.onTerminating(stage);
 	}
 
 	@Override