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

thenatog pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new dc7d951  NIFI-9610 Refactored nifi-processor-utils to separate modules
dc7d951 is described below

commit dc7d9510cd5e63dfe3888d6c9f5464fe6eb843f8
Author: exceptionfactory <[email protected]>
AuthorDate: Mon Jan 31 15:06:13 2022 -0600

    NIFI-9610 Refactored nifi-processor-utils to separate modules
    
    - Added nifi-bin-manager
    - Added nifi-event-listen
    - Added nifi-event-put
    - Added nifi-listed-entity
    - Added nifi-put-pattern
    - Removed nifi-processor-utils
    
    Signed-off-by: Nathan Gough <[email protected]>
    
    This closes #5729.
---
 .../nifi-aws-bundle/nifi-aws-processors/pom.xml    |  10 +-
 .../nifi-azure-processors/pom.xml                  |   7 +-
 .../nifi-beats-processors/pom.xml                  |   2 +-
 .../nifi-extension-utils/nifi-bin-manager}/pom.xml |  27 +-
 .../org/apache/nifi/processor/util/bin/Bin.java    |   0
 .../apache/nifi/processor/util/bin/BinFiles.java   |   0
 .../apache/nifi/processor/util/bin/BinManager.java |   0
 .../processor/util/bin/BinProcessingResult.java    |   0
 .../nifi/processor/util/bin/EvictionReason.java    |   0
 .../nifi-event-listen}/pom.xml                     |  40 +-
 .../AbstractListenEventBatchingProcessor.java      |   0
 .../util/listen/AbstractListenEventProcessor.java  |   0
 .../nifi/processor/util/listen/EventBatcher.java   |   0
 .../processor/util/listen/FlowFileEventBatch.java  |   0
 .../processor/util/listen/ListenerProperties.java  |   0
 .../listen/dispatcher/AsyncChannelDispatcher.java  |   0
 .../util/listen/dispatcher/ByteBufferFactory.java  |   0
 .../util/listen/dispatcher/ByteBufferPool.java     |   0
 .../util/listen/dispatcher/ByteBufferSource.java   |   0
 .../util/listen/dispatcher/ChannelDispatcher.java  |   0
 .../dispatcher/DatagramChannelDispatcher.java      |   0
 .../nifi/processor/util/listen/event/Event.java    |   0
 .../processor/util/listen/event/EventFactory.java  |   0
 .../util/listen/event/EventFactoryUtil.java        |   0
 .../processor/util/listen/event/EventQueue.java    |   0
 .../util/listen/event/NetworkEventFactory.java     |   0
 .../processor/util/listen/event/StandardEvent.java |   0
 .../util/listen/event/StandardEventFactory.java    |   0
 .../listen/event/StandardNetworkEventFactory.java  |   0
 .../util/listen/response/ChannelResponder.java     |   0
 .../util/listen/response/ChannelResponse.java      |   0
 .../processor/util/listen/EventBatcherTest.java    |   0
 .../nifi-extension-utils/nifi-event-put}/pom.xml   |  25 +-
 .../util/put/AbstractPutEventProcessor.java        |   0
 .../pom.xml                                        |  68 +--
 .../processor/util/list/AbstractListProcessor.java |   0
 .../nifi/processor/util/list/EntityListing.java    |   0
 .../util/list/ListProcessorTestWatcher.java        |   0
 .../nifi/processor/util/list/ListableEntity.java   |   0
 .../processor/util/list/ListableEntityWrapper.java |   0
 .../nifi/processor/util/list/ListedEntity.java     |   0
 .../processor/util/list/ListedEntityTracker.java   |   0
 .../util/list/TestAbstractListProcessor.java       |   3 +-
 .../listen/dispatcher/SocketChannelAttachment.java |  44 --
 .../util/listen/handler/ChannelHandler.java        |  55 ---
 .../util/list/ITAbstractListProcessor.java         | 471 ---------------------
 .../nifi-extension-utils/nifi-put-pattern}/pom.xml |  26 +-
 .../util/pattern/DiscontinuedException.java        |   0
 .../nifi/processor/util/pattern/ErrorTypes.java    |   0
 .../processor/util/pattern/ExceptionHandler.java   |   0
 .../processor/util/pattern/PartialFunctions.java   |   0
 .../apache/nifi/processor/util/pattern/Put.java    |   0
 .../nifi/processor/util/pattern/PutGroup.java      |   0
 .../processor/util/pattern/RollbackOnFailure.java  |   0
 .../nifi/processor/util/pattern/RoutingResult.java |   0
 .../util/pattern/TestExceptionHandler.java         |   0
 .../util/pattern/TestRollbackOnFailure.java        |   0
 nifi-nar-bundles/nifi-extension-utils/pom.xml      |  21 +-
 .../nifi-gcp-bundle/nifi-gcp-processors/pom.xml    |   7 +-
 .../nifi-hive-bundle/nifi-hive-processors/pom.xml  |  15 +-
 .../nifi-hive-bundle/nifi-hive3-processors/pom.xml |   7 +-
 .../nifi-hive_1_1-processors/pom.xml               |  15 +-
 .../nifi-splunk-processors/pom.xml                 |  22 +-
 .../nifi-standard-processors/pom.xml               |  22 +-
 .../nifi-system-test-extensions/pom.xml            |   2 +-
 65 files changed, 165 insertions(+), 724 deletions(-)

diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
index 1c8b255..3c2eb74 100644
--- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/pom.xml
@@ -35,7 +35,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-listed-entity</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -51,6 +51,14 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record-serialization-service-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-ssl-context-service-api</artifactId>
         </dependency>
         <dependency>
diff --git a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
index 8225e79..1da5e8a 100644
--- a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml
@@ -166,6 +166,11 @@
             <version>${jackson.version}</version>
         </dependency>
         <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>27.0.1-jre</version>
@@ -220,7 +225,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-listed-entity</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
diff --git a/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml 
b/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
index 012216f..e3c53c7 100644
--- a/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-beats-bundle/nifi-beats-processors/pom.xml
@@ -32,7 +32,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-event-listen</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
diff --git 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
 b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
similarity index 67%
copy from 
nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
copy to nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
index 242730b..eac71e2 100644
--- 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -13,37 +13,24 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
     <parent>
-        <artifactId>nifi-system-test-extensions-bundle</artifactId>
         <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-extension-utils</artifactId>
         <version>1.16.0-SNAPSHOT</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nifi-system-test-extensions</artifactId>
-
+    <artifactId>nifi-bin-manager</artifactId>
+    <packaging>jar</packaging>
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-api</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-stateless-api</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-utils</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-        </dependency>
     </dependencies>
-
-</project>
\ No newline at end of file
+</project>
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/Bin.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinFiles.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinManager.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/BinProcessingResult.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-bin-manager/src/main/java/org/apache/nifi/processor/util/bin/EvictionReason.java
diff --git a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
similarity index 68%
copy from nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
copy to nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
index 9539ec4..c92f7d3 100644
--- a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/pom.xml
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
+  contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-  http://www.apache.org/licenses/LICENSE-2.0
+  the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,44 +15,46 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <modelVersion>4.0.0</modelVersion>
-
     <parent>
         <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-splunk-bundle</artifactId>
+        <artifactId>nifi-extension-utils</artifactId>
         <version>1.16.0-SNAPSHOT</version>
     </parent>
-
-    <artifactId>nifi-splunk-processors</artifactId>
+    <artifactId>nifi-event-listen</artifactId>
     <packaging>jar</packaging>
-
     <dependencies>
         <dependency>
-            <groupId>com.splunk</groupId>
-            <artifactId>splunk</artifactId>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-ssl-context-service-api</artifactId>
-            <scope>provided</scope>
+            <artifactId>nifi-utils</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-api</artifactId>
+            <artifactId>nifi-security-socket-ssl</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-event-transport</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-ssl-context-service</artifactId>
-            <scope>test</scope>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.12.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-mock</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventBatchingProcessor.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/AbstractListenEventProcessor.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/EventBatcher.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/FlowFileEventBatch.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/ListenerProperties.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/AsyncChannelDispatcher.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferFactory.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferPool.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ByteBufferSource.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/ChannelDispatcher.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/DatagramChannelDispatcher.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/Event.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactory.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventFactoryUtil.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/EventQueue.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/NetworkEventFactory.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEvent.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardEventFactory.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/event/StandardNetworkEventFactory.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponder.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/main/java/org/apache/nifi/processor/util/listen/response/ChannelResponse.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-listen/src/test/java/org/apache/nifi/processor/util/listen/EventBatcherTest.java
diff --git 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
 b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
similarity index 78%
copy from 
nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
copy to nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
index 242730b..5b26e7f 100644
--- 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -13,37 +13,34 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
     <parent>
-        <artifactId>nifi-system-test-extensions-bundle</artifactId>
         <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-extension-utils</artifactId>
         <version>1.16.0-SNAPSHOT</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nifi-system-test-extensions</artifactId>
-
+    <artifactId>nifi-event-put</artifactId>
+    <packaging>jar</packaging>
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-api</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-stateless-api</artifactId>
+            <artifactId>nifi-utils</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-utils</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
+            <artifactId>nifi-ssl-context-service-api</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-event-transport</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
     </dependencies>
-
-</project>
\ No newline at end of file
+</project>
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-event-put/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-event-put/src/main/java/org/apache/nifi/processor/util/put/AbstractPutEventProcessor.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
similarity index 53%
rename from nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml
rename to nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
index 6e99b2b..c5d7bfd 100644
--- a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/pom.xml
@@ -20,16 +20,8 @@
         <artifactId>nifi-extension-utils</artifactId>
         <version>1.16.0-SNAPSHOT</version>
     </parent>
-    <artifactId>nifi-processor-utils</artifactId>
+    <artifactId>nifi-listed-entity</artifactId>
     <packaging>jar</packaging>
-    <description>
-        This nifi-processor-utils module is designed to capture common patterns
-        and utilities that can be leveraged by other processors or components 
to
-        help promote reuse.  These patterns may become framework level features
-        or may simply be made available through this utility.  It is ok for 
this
-        module to have dependencies but care should be taken when adding 
dependencies
-        as this increases the cost of utilizing this module in various nars.
-    </description>
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
@@ -42,24 +34,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-security-socket-ssl</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.10.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.11</version>
+            <artifactId>nifi-record-serialization-service-api</artifactId>
         </dependency>
-        <!-- Other modules using nifi-processor-utils are expected to have 
this API available, typically through a NAR dependency -->
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-ssl-context-service-api</artifactId>
-            <scope>provided</scope>
+            <artifactId>nifi-record</artifactId>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
@@ -72,12 +51,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-mock</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <!-- Dependency marked as provided, not test, because 
ListProcessorTestWatcher uses TestWatcher -->
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -85,44 +58,13 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-record-serialization-service-api</artifactId>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-record</artifactId>
-            <scope>compile</scope>
+            <artifactId>nifi-mock</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-mock-record-utils</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-event-transport</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-            <scope>compile</scope>
-        </dependency>
     </dependencies>
-    <profiles>
-        <profile>
-            <!-- This profile, activating when compiling on Java versions 
above 1.8, provides configuration changes to
-                 allow NiFi to be compiled on those JDKs. -->
-            <id>jigsaw</id>
-            <activation>
-                <jdk>(1.8,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.glassfish.jaxb</groupId>
-                    <artifactId>jaxb-runtime</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
 </project>
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/AbstractListProcessor.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/EntityListing.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListProcessorTestWatcher.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntity.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListableEntityWrapper.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntity.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/main/java/org/apache/nifi/processor/util/list/ListedEntityTracker.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
similarity index 99%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
index 75ada70..61fd67b 100644
--- 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
+++ 
b/nifi-nar-bundles/nifi-extension-utils/nifi-listed-entity/src/test/java/org/apache/nifi/processor/util/list/TestAbstractListProcessor.java
@@ -49,7 +49,6 @@ import org.apache.nifi.util.MockFlowFile;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
 import org.glassfish.jersey.internal.guava.Predicates;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -208,7 +207,7 @@ public class TestAbstractListProcessor {
         runner.run();
 
         // Verify the local persistence file is removed
-        Assert.assertTrue("Failed to remove persistence file", 
!persistenceFile.exists());
+        assertTrue("Failed to remove persistence file", 
!persistenceFile.exists());
 
         // Verify the state manager now maintains the associated state
         final Map<String, String> expectedState = new HashMap<>();
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
deleted file mode 100644
index f2479f1..0000000
--- 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/dispatcher/SocketChannelAttachment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.listen.dispatcher;
-
-import org.apache.nifi.remote.io.socket.ssl.SSLSocketChannel;
-
-import java.nio.ByteBuffer;
-
-/**
- * Wrapper class so we can attach a buffer and/or an SSLSocketChannel to the 
selector key.
- * */
-public class SocketChannelAttachment {
-
-    private final ByteBuffer byteBuffer;
-    private final SSLSocketChannel sslSocketChannel;
-
-    public SocketChannelAttachment(final ByteBuffer byteBuffer, final 
SSLSocketChannel sslSocketChannel) {
-        this.byteBuffer = byteBuffer;
-        this.sslSocketChannel = sslSocketChannel;
-    }
-
-    public ByteBuffer getByteBuffer() {
-        return byteBuffer;
-    }
-
-    public SSLSocketChannel getSslSocketChannel() {
-        return sslSocketChannel;
-    }
-
-}
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
deleted file mode 100644
index 84ef062..0000000
--- 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/listen/handler/ChannelHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.listen.handler;
-
-import org.apache.nifi.logging.ComponentLog;
-import org.apache.nifi.processor.util.listen.dispatcher.ChannelDispatcher;
-import org.apache.nifi.processor.util.listen.event.Event;
-import org.apache.nifi.processor.util.listen.event.EventFactory;
-import org.apache.nifi.processor.util.listen.event.EventQueue;
-
-import java.nio.channels.SelectionKey;
-import java.nio.charset.Charset;
-import java.util.concurrent.BlockingQueue;
-
-/**
- * Base class for all channel handlers.
- */
-public abstract class ChannelHandler<E extends Event, D extends 
ChannelDispatcher> implements Runnable {
-
-    protected final SelectionKey key;
-    protected final D dispatcher;
-    protected final Charset charset;
-    protected final EventFactory<E> eventFactory;
-    protected final EventQueue<E> events;
-    protected final ComponentLog logger;
-
-    public ChannelHandler(final SelectionKey key,
-                          final D dispatcher,
-                          final Charset charset,
-                          final EventFactory<E> eventFactory,
-                          final BlockingQueue<E> events,
-                          final ComponentLog logger) {
-        this.key = key;
-        this.dispatcher = dispatcher;
-        this.charset = charset;
-        this.eventFactory = eventFactory;
-        this.logger = logger;
-        this.events = new EventQueue<E>(events, logger);
-    }
-
-}
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
deleted file mode 100644
index ec64785..0000000
--- 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/list/ITAbstractListProcessor.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.processor.util.list;
-
-import org.apache.nifi.annotation.notification.PrimaryNodeState;
-import org.apache.nifi.components.ConfigVerificationResult;
-import org.apache.nifi.components.state.Scope;
-import org.apache.nifi.components.state.StateMap;
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.util.TestRunner;
-import org.apache.nifi.util.TestRunners;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestWatcher;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import static 
org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_MILLIS;
-import static 
org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_MINUTES;
-import static 
org.apache.nifi.processor.util.list.AbstractListProcessor.PRECISION_SECONDS;
-import static 
org.apache.nifi.processor.util.list.AbstractListProcessor.TARGET_SYSTEM_TIMESTAMP_PRECISION;
-import 
org.apache.nifi.processor.util.list.TestAbstractListProcessor.ConcreteListProcessor;
-import 
org.apache.nifi.processor.util.list.TestAbstractListProcessor.DistributedCache;
-import static org.junit.Assert.assertEquals;
-
-public class ITAbstractListProcessor {
-
-    /**
-     * @return current timestamp in milliseconds, but truncated at specified
-     * target precision (e.g. SECONDS or MINUTES).
-     */
-    private static long getCurrentTimestampMillis(final TimeUnit 
targetPrecision) {
-        final long timestampInTargetPrecision = 
targetPrecision.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS);
-        return TimeUnit.MILLISECONDS.convert(timestampInTargetPrecision, 
targetPrecision);
-    }
-
-    private static long getSleepMillis(final TimeUnit targetPrecision) {
-        return AbstractListProcessor.LISTING_LAG_MILLIS.get(targetPrecision) * 
2;
-    }
-
-    private static final long DEFAULT_SLEEP_MILLIS = 
getSleepMillis(TimeUnit.MILLISECONDS);
-
-    private ConcreteListProcessor proc;
-    private TestRunner runner;
-
-    @Rule
-    public TestWatcher dumpState = new ListProcessorTestWatcher(
-            () -> {
-                try {
-                    return 
runner.getStateManager().getState(Scope.LOCAL).toMap();
-                } catch (IOException e) {
-                    throw new RuntimeException("Failed to retrieve state", e);
-                }
-            },
-            () -> proc.getEntityList(),
-            () -> 
runner.getFlowFilesForRelationship(AbstractListProcessor.REL_SUCCESS).stream().map(m
 -> (FlowFile) m).collect(Collectors.toList())
-    );
-
-    @Before
-    public void setup() {
-        proc = new ConcreteListProcessor();
-        runner = TestRunners.newTestRunner(proc);
-    }
-
-    @Rule
-    public final TemporaryFolder testFolder = new TemporaryFolder();
-
-    /**
-     * <p>
-     * Ensures that files are listed when those are old enough:
-     * <li>Files with last modified timestamp those are old enough to determine
-     * that those are completely written and no further files are expected to 
be
-     * added with the same timestamp.</li>
-     * <li>This behavior is expected when a processor is scheduled less
-     * frequently, such as hourly or daily.</li>
-     * </p>
-     */
-    @Test
-    public void testAllExistingEntriesEmittedOnFirstIteration() throws 
Exception {
-        final long oldTimestamp = System.currentTimeMillis() - 
getSleepMillis(TimeUnit.MILLISECONDS);
-
-        // These entries have existed before the processor runs at the first 
time.
-        proc.addEntity("name", "id", oldTimestamp);
-        proc.addEntity("name", "id2", oldTimestamp);
-
-        // First run, the above listed entries should be emitted since it has 
existed.
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-
-        // Ensure we have covered the necessary lag period to avoid issues 
where the processor was immediately scheduled to run again
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        // Run again without introducing any new entries
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-    }
-
-    private void testPreviouslySkippedEntriesEmmitedOnNextIteration(final 
TimeUnit targetPrecision) throws InterruptedException {
-        runner.run();
-
-        final long initialTimestamp = 
getCurrentTimestampMillis(targetPrecision);
-
-        setTargetSystemTimestampPrecision(targetPrecision);
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        proc.addEntity("name", "id", initialTimestamp);
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-
-        // First run, the above listed entries would be skipped to avoid write 
synchronization issues
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Ensure we have covered the necessary lag period to avoid issues 
where the processor was immediately scheduled to run again
-        Thread.sleep(getSleepMillis(targetPrecision));
-
-        // Run again without introducing any new entries
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-    }
-
-    /**
-     * <p>
-     * Ensures that newly created files should wait to confirm there is no more
-     * files created with the same timestamp:
-     * <li>If files have the latest modified timestamp at an iteration, then
-     * those should be postponed to be listed</li>
-     * <li>If those files still are the latest files at the next iteration, 
then
-     * those should be listed</li>
-     * </p>
-     */
-    @Test
-    public void 
testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision() throws 
Exception {
-        
testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.MILLISECONDS);
-    }
-
-    /**
-     * Same as
-     * {@link 
#testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision()}
-     * but simulates that the target filesystem only provide timestamp 
precision
-     * in Seconds.
-     */
-    @Test
-    public void 
testPreviouslySkippedEntriesEmittedOnNextIterationSecondPrecision() throws 
Exception {
-        testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.SECONDS);
-    }
-
-    /**
-     * Same as
-     * {@link 
#testPreviouslySkippedEntriesEmittedOnNextIterationMilliPrecision()}
-     * but simulates that the target filesystem only provide timestamp 
precision
-     * in Minutes.
-     */
-    @Test
-    public void 
testPreviouslySkippedEntriesEmittedOnNextIterationMinutesPrecision() throws 
Exception {
-        testPreviouslySkippedEntriesEmmitedOnNextIteration(TimeUnit.MINUTES);
-    }
-
-    private void testOnlyNewEntriesEmitted(final TimeUnit targetPrecision) 
throws InterruptedException {
-
-        final long initialTimestamp = 
getCurrentTimestampMillis(targetPrecision);
-
-        setTargetSystemTimestampPrecision(targetPrecision);
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        proc.addEntity("name", "id", initialTimestamp);
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-
-        // First run, the above listed entries would be skipped to avoid write 
synchronization issues
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Ensure we have covered the necessary lag period to avoid issues 
where the processor was immediately scheduled to run again
-        Thread.sleep(getSleepMillis(targetPrecision));
-
-        // Running again, our two previously seen files are now cleared to be 
released
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-
-        // Verify no new old files show up
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // An entry that is older than already processed entry should not be 
listed.
-        proc.addEntity("name", "id3", initialTimestamp - 
targetPrecision.toMillis(1));
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // If an entry whose timestamp is the same with the last processed 
timestamp should not be listed.
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Now a new file beyond the current time enters
-        proc.addEntity("name", "id2", initialTimestamp + 
targetPrecision.toMillis(1));
-
-        // It should show up
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
-        runner.clearTransferState();
-
-        final List<ConfigVerificationResult> results = 
proc.verify(runner.getProcessContext(), runner.getLogger(), 
Collections.emptyMap());
-        assertEquals(1, results.size());
-        assertEquals(ConfigVerificationResult.Outcome.SUCCESSFUL, 
results.get(0).getOutcome());
-    }
-
-    private void setTargetSystemTimestampPrecision(TimeUnit targetPrecision) {
-        switch (targetPrecision) {
-            case MINUTES:
-                runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, 
PRECISION_MINUTES);
-                break;
-            case SECONDS:
-                runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, 
PRECISION_SECONDS);
-                break;
-            case MILLISECONDS:
-                runner.setProperty(TARGET_SYSTEM_TIMESTAMP_PRECISION, 
PRECISION_MILLIS);
-                break;
-        }
-    }
-
-    @Test
-    public void testOnlyNewEntriesEmittedMillisPrecision() throws Exception {
-        testOnlyNewEntriesEmitted(TimeUnit.MILLISECONDS);
-    }
-
-    @Test
-    public void testOnlyNewEntriesEmittedSecondPrecision() throws Exception {
-        testOnlyNewEntriesEmitted(TimeUnit.SECONDS);
-    }
-
-    @Test
-    public void testOnlyNewEntriesEmittedMinutesPrecision() throws Exception {
-        testOnlyNewEntriesEmitted(TimeUnit.MINUTES);
-    }
-
-    @Test
-    public void testHandleRestartWithEntriesAlreadyTransferredAndNoneNew() 
throws Exception {
-
-        final long initialTimestamp = System.currentTimeMillis();
-
-        proc.addEntity("name", "id", initialTimestamp);
-        proc.addEntity("name", "id2", initialTimestamp);
-
-        // Emulate having state but not having had the processor run such as 
in a restart
-        final Map<String, String> preexistingState = new HashMap<>();
-        
preexistingState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, 
Long.toString(initialTimestamp));
-        
preexistingState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY,
 Long.toString(initialTimestamp));
-        preexistingState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".0", 
"id");
-        preexistingState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".1", 
"id2");
-        runner.getStateManager().setState(preexistingState, Scope.CLUSTER);
-
-        // run for the first time
-        runner.run();
-
-        // First run, the above listed entries would be skipped
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Ensure we have covered the necessary lag period to avoid issues 
where the processor was immediately scheduled to run again
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        // Running again, these files should be eligible for transfer and 
again skipped
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Verify no new old files show up
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        proc.addEntity("name", "id3", initialTimestamp - 1);
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        proc.addEntity("name", "id2", initialTimestamp);
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Now a new file beyond the current time enters
-        proc.addEntity("name", "id2", initialTimestamp + 1);
-
-        // It should now show up
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
-        runner.clearTransferState();
-    }
-
-    @Test
-    public void testStateStoredInClusterStateManagement() throws Exception {
-
-        final DistributedCache cache = new DistributedCache();
-        runner.addControllerService("cache", cache);
-        runner.enableControllerService(cache);
-        runner.setProperty(AbstractListProcessor.DISTRIBUTED_CACHE_SERVICE, 
"cache");
-
-        final long initialTimestamp = System.currentTimeMillis();
-
-        proc.addEntity("name", "id", initialTimestamp);
-        runner.run();
-
-        final Map<String, String> expectedState = new HashMap<>();
-        // Ensure only timestamp is migrated
-        
expectedState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, 
String.valueOf(initialTimestamp));
-        
expectedState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY,
 "0");
-        runner.getStateManager().assertStateEquals(expectedState, 
Scope.CLUSTER);
-
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        runner.run();
-        // Ensure only timestamp is migrated
-        
expectedState.put(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY, 
String.valueOf(initialTimestamp));
-        
expectedState.put(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY,
 String.valueOf(initialTimestamp));
-        expectedState.put(AbstractListProcessor.IDENTIFIER_PREFIX + ".0", 
"id");
-        runner.getStateManager().assertStateEquals(expectedState, 
Scope.CLUSTER);
-    }
-
-    @Test
-    public void testResumeListingAfterClearingState() throws Exception {
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-
-        final long initialEventTimestamp = System.currentTimeMillis();
-        proc.addEntity("name", "id", initialEventTimestamp);
-        proc.addEntity("name", "id2", initialEventTimestamp);
-
-        // Add entities but these should not be transferred as they are the 
latest values
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-
-        // after providing a pause in listings, the files should now  transfer
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-
-        // Verify entities are not transferred again for the given state
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Clear state for this processor, eradicating timestamp
-        runner.getStateManager().clear(Scope.CLUSTER);
-        Assert.assertEquals("State is not empty for this component after 
clearing", 0, runner.getStateManager().getState(Scope.CLUSTER).toMap().size());
-
-        // Ensure the original files are now transferred again.
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-    }
-
-    @Test
-    public void testResumeListingAfterBecamePrimary() throws Exception {
-        final long initialTimestamp = System.currentTimeMillis();
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        proc.addEntity("name", "id", initialTimestamp);
-        proc.addEntity("name", "id2", initialTimestamp);
-
-        // Add entities but these should not be transferred as they are the 
latest values
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // after providing a pause in listings, the files should now  transfer
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-
-        // Emulate reelection process
-        proc.onPrimaryNodeChange(PrimaryNodeState.ELECTED_PRIMARY_NODE);
-
-        // Now a new file enters
-        proc.addEntity("name", "id3", initialTimestamp + 1);;
-
-        // First run skips the execution because determined timestamp is the 
same as last listing
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        // Now the cluster state has been read, all set to perform next listing
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
-        runner.clearTransferState();
-    }
-
-    @Test
-    public void testOnlyNewStateStored() throws Exception {
-
-        runner.run();
-
-        final long initialTimestamp = System.currentTimeMillis();
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        proc.addEntity("name", "id", initialTimestamp);
-        proc.addEntity("name", "id2", initialTimestamp);
-
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 0);
-        runner.clearTransferState();
-
-        Thread.sleep(DEFAULT_SLEEP_MILLIS);
-
-        runner.run();
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 2);
-        runner.clearTransferState();
-
-        final StateMap stateMap = 
runner.getStateManager().getState(Scope.CLUSTER);
-        assertEquals(2, stateMap.getVersion());
-
-        final Map<String, String> map = stateMap.toMap();
-        // Ensure timestamp and identifiers are migrated
-        assertEquals(4, map.size());
-        assertEquals(Long.toString(initialTimestamp), 
map.get(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY));
-        assertEquals(Long.toString(initialTimestamp), 
map.get(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY));
-        assertEquals("id", map.get(AbstractListProcessor.IDENTIFIER_PREFIX + 
".0"));
-        assertEquals("id2", map.get(AbstractListProcessor.IDENTIFIER_PREFIX + 
".1"));
-
-        proc.addEntity("new name", "new id", initialTimestamp + 1);
-        runner.run();
-
-        
runner.assertAllFlowFilesTransferred(ConcreteListProcessor.REL_SUCCESS, 1);
-        runner.clearTransferState();
-
-        StateMap updatedStateMap = 
runner.getStateManager().getState(Scope.CLUSTER);
-        assertEquals(3, updatedStateMap.getVersion());
-
-        assertEquals(3, updatedStateMap.toMap().size());
-        assertEquals(Long.toString(initialTimestamp + 1), 
updatedStateMap.get(AbstractListProcessor.LATEST_LISTED_ENTRY_TIMESTAMP_KEY));
-        // Processed timestamp is now caught up
-        assertEquals(Long.toString(initialTimestamp + 1), 
updatedStateMap.get(AbstractListProcessor.LAST_PROCESSED_LATEST_ENTRY_TIMESTAMP_KEY));
-        assertEquals("new id", 
updatedStateMap.get(AbstractListProcessor.IDENTIFIER_PREFIX + ".0"));
-    }
-
-}
diff --git 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
 b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
similarity index 71%
copy from 
nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
copy to nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
index 242730b..34a3fdb 100644
--- 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -13,26 +13,19 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
     <parent>
-        <artifactId>nifi-system-test-extensions-bundle</artifactId>
         <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-extension-utils</artifactId>
         <version>1.16.0-SNAPSHOT</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nifi-system-test-extensions</artifactId>
-
+    <artifactId>nifi-put-pattern</artifactId>
+    <packaging>jar</packaging>
     <dependencies>
         <dependency>
             <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-api</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-stateless-api</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
@@ -41,9 +34,8 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
-            <version>1.16.0-SNAPSHOT</version>
+            <artifactId>nifi-mock</artifactId>
+            <scope>test</scope>
         </dependency>
     </dependencies>
-
-</project>
\ No newline at end of file
+</project>
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/DiscontinuedException.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ErrorTypes.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/ExceptionHandler.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PartialFunctions.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/Put.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/PutGroup.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RollbackOnFailure.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/main/java/org/apache/nifi/processor/util/pattern/RoutingResult.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestExceptionHandler.java
diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
similarity index 100%
rename from 
nifi-nar-bundles/nifi-extension-utils/nifi-processor-utils/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
rename to 
nifi-nar-bundles/nifi-extension-utils/nifi-put-pattern/src/test/java/org/apache/nifi/processor/util/pattern/TestRollbackOnFailure.java
diff --git a/nifi-nar-bundles/nifi-extension-utils/pom.xml 
b/nifi-nar-bundles/nifi-extension-utils/pom.xml
index 091535d..68b3d65 100644
--- a/nifi-nar-bundles/nifi-extension-utils/pom.xml
+++ b/nifi-nar-bundles/nifi-extension-utils/pom.xml
@@ -27,17 +27,20 @@
     </description>
 
     <modules>
-        <module>nifi-record-utils</module>
-        <module>nifi-hadoop-utils</module>
-        <module>nifi-processor-utils</module>
-        <module>nifi-reporting-utils</module>
-        <module>nifi-syslog-utils</module>
+        <module>nifi-bin-manager</module>
         <module>nifi-database-utils</module>
         <module>nifi-database-test-utils</module>
-        <module>nifi-service-utils</module>
-        <module>nifi-prometheus-utils</module>
-        <module>nifi-kerberos-test-utils</module>
+        <module>nifi-event-listen</module>
+        <module>nifi-event-put</module>
         <module>nifi-event-transport</module>
+        <module>nifi-hadoop-utils</module>
+        <module>nifi-kerberos-test-utils</module>
+        <module>nifi-listed-entity</module>
+        <module>nifi-prometheus-utils</module>
+        <module>nifi-put-pattern</module>
+        <module>nifi-record-utils</module>
+        <module>nifi-reporting-utils</module>
+        <module>nifi-service-utils</module>
+        <module>nifi-syslog-utils</module>
     </modules>
-
 </project>
diff --git a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml 
b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
index 5ae7453..a2dbccf 100644
--- a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/pom.xml
@@ -56,7 +56,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-listed-entity</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -122,6 +122,11 @@
             <version>1.8</version>
         </dependency>
         <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml 
b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
index 93dd0e0..907deb9 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/pom.xml
@@ -38,7 +38,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-utils</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-put-pattern</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -168,6 +173,14 @@
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record-serialization-service-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.github.stephenc.findbugs</groupId>
             <artifactId>findbugs-annotations</artifactId>
             <version>1.3.9-1</version>
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml 
b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
index 7160e49..b3d25e8 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
@@ -33,7 +33,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-utils</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-put-pattern</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml 
b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
index 6cb7032..4c7f47c 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive_1_1-processors/pom.xml
@@ -38,7 +38,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-utils</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-put-pattern</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
@@ -176,6 +181,14 @@
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record-serialization-service-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-record</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.github.stephenc.findbugs</groupId>
             <artifactId>findbugs-annotations</artifactId>
             <version>1.3.9-1</version>
diff --git a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml 
b/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
index 9539ec4..339833e 100644
--- a/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/pom.xml
@@ -41,11 +41,31 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-utils</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-event-put</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.12.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${jackson.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
             <artifactId>nifi-ssl-context-service</artifactId>
             <scope>test</scope>
         </dependency>
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index 8f6ca2d..7720d68 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -36,7 +36,27 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-put-pattern</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-bin-manager</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-listed-entity</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-event-put</artifactId>
+            <version>1.16.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-event-listen</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
         <dependency>
diff --git 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
 
b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
index 242730b..52c0e1e 100644
--- 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
+++ 
b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/pom.xml
@@ -41,7 +41,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-processor-utils</artifactId>
+            <artifactId>nifi-bin-manager</artifactId>
             <version>1.16.0-SNAPSHOT</version>
         </dependency>
     </dependencies>

Reply via email to