Michael Wagner created NIFI-6543:
------------------------------------
Summary: Add onUnscheduled support for ExecuteJavaProcessor
Key: NIFI-6543
URL: https://issues.apache.org/jira/browse/NIFI-6543
Project: Apache NiFi
Issue Type: Improvement
Components: Extensions
Reporter: Michael Wagner
The ExecuteGroovyScript processor is great, and it is great to have the support
for onStart and onStop methods. However, I often find myself wishing there
were also a way to take some action when the processor is _unscheduled_. That
would let the groovy code to make decisions about whether or not to get()
another flowfile.
I think it should be as easy as
{code:java}
diff --git
a/nifi-nar-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/main/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScript.java
b/nifi-nar-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/main/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScript.java
index c35ab392d..eead4bc07 100644
---
a/nifi-nar-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/main/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScript.java
+++
b/nifi-nar-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/main/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScript.java
@@ -27,6 +27,7 @@ import
org.apache.nifi.annotation.documentation.CapabilityDescription;
import org.apache.nifi.annotation.documentation.SeeAlso;
import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.lifecycle.OnUnscheduled;
import org.apache.nifi.annotation.lifecycle.OnStopped;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.components.RequiredPermission;
@@ -264,6 +265,14 @@ public class ExecuteGroovyScript extends AbstractProcessor
{
throw new ProcessException("onStart failed: " + t, t);
}
}
+ @OnUnscheduled
+ public void onUnscheduled(final ProcessContext context) {
+ try {
+ callScriptStatic("onUnscheduled", context);
+ } catch (Throwable t) {
+ throw new ProcessException("onUnscheduled failed: " + t, t);
+ }
+ }
@OnStopped
public void onStopped(final ProcessContext context) {
{code}
But this is my first attempt to change Nifi; I defer to others.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)