diff --git a/metafacture-flowcontrol/src/main/java/org/metafacture/flowcontrol/ObjectSleeper.java b/metafacture-flowcontrol/src/main/java/org/metafacture/flowcontrol/ObjectSleeper.java index 02824b669..4526684c1 100644 --- a/metafacture-flowcontrol/src/main/java/org/metafacture/flowcontrol/ObjectSleeper.java +++ b/metafacture-flowcontrol/src/main/java/org/metafacture/flowcontrol/ObjectSleeper.java @@ -14,25 +14,28 @@ * limitations under the License. */ -package org.metafacture.strings; +package org.metafacture.flowcontrol; import org.metafacture.framework.FluxCommand; +import org.metafacture.framework.MetafactureException; import org.metafacture.framework.ObjectReceiver; import org.metafacture.framework.annotations.Description; import org.metafacture.framework.annotations.In; import org.metafacture.framework.annotations.Out; import org.metafacture.framework.helpers.DefaultObjectPipe; + /** * Lets the process between objects sleep for a specific ms. -* -* @author Tobias Bülte -*/ + * + * @param object type + * @author Tobias Bülte + */ @Description("Lets the process between objects sleep for a specific ms.") @In(Object.class) @Out(Object.class) -@FluxCommand("object-sleep") -public final class ObjectSleeper extends DefaultObjectPipe> { +@FluxCommand("sleep") +public final class ObjectSleeper extends DefaultObjectPipe> { public static final long DEFAULT_SLEEP_TIME = 1000; @@ -44,8 +47,7 @@ public final class ObjectSleeper extends DefaultObjectPipe> public ObjectSleeper() { } - - /** + /** * Sets the time in ms for the sleep phase. * * @param sleepTime the time to sleep @@ -54,7 +56,7 @@ public void setSleepTime(final int sleepTime) { this.sleepTime = sleepTime; } - /** + /** * Gets the time in ms for the sleep phase. * * @return the time to sleep @@ -65,7 +67,13 @@ public long getSleepTime() { @Override public void process(final T obj) { - Thread.sleep(sleepTime); + try { + Thread.sleep(sleepTime); + } + catch (final InterruptedException e) { + Thread.currentThread().interrupt(); + throw new MetafactureException(e.getMessage(), e); + } getReceiver().process(obj); } diff --git a/metafacture-flowcontrol/src/main/resources/flux-commands.properties b/metafacture-flowcontrol/src/main/resources/flux-commands.properties index beefcf19a..ec36f0791 100644 --- a/metafacture-flowcontrol/src/main/resources/flux-commands.properties +++ b/metafacture-flowcontrol/src/main/resources/flux-commands.properties @@ -21,3 +21,4 @@ reset-object-batch org.metafacture.flowcontrol.ObjectBatchResetter defer-stream org.metafacture.flowcontrol.StreamDeferrer catch-stream-exception org.metafacture.flowcontrol.StreamExceptionCatcher thread-object-tee org.metafacture.flowcontrol.ObjectThreader +sleep org.metafacture.flowcontrol.ObjectSleeper