<?xml version="1.0" ?>
<template encoding-version="1.0">
  <description></description>
  <groupId>015d100b-a8d4-1048-2740-0f8af2776b4c</groupId>
  <name>Forum_131539_TCPListener</name>
  <snippet>
    <processGroups>
      <id>015d100b-a8d4-1048-0000-000000000000</id>
      <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
      <position>
        <x>0.0</x>
        <y>0.0</y>
      </position>
      <comments></comments>
      <contents>
        <connections>
          <id>5f27b10d-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
          <backPressureObjectThreshold>10000</backPressureObjectThreshold>
          <destination>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5f947346-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </destination>
          <flowFileExpiration>0 sec</flowFileExpiration>
          <labelIndex>1</labelIndex>
          <name></name>
          <selectedRelationships>success</selectedRelationships>
          <source>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>015d1014-a8d4-1048-0000-000000000000</id>
            <type>PROCESSOR</type>
          </source>
          <zIndex>0</zIndex>
        </connections>
        <connections>
          <id>5f771774-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
          <backPressureObjectThreshold>10000</backPressureObjectThreshold>
          <destination>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5f77026d-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </destination>
          <flowFileExpiration>0 sec</flowFileExpiration>
          <labelIndex>1</labelIndex>
          <name></name>
          <selectedRelationships>success</selectedRelationships>
          <source>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>015d100e-a8d4-1048-0000-000000000000</id>
            <type>PROCESSOR</type>
          </source>
          <zIndex>0</zIndex>
        </connections>
        <connections>
          <id>5f7729a7-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
          <backPressureObjectThreshold>10000</backPressureObjectThreshold>
          <destination>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5a6b18be-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </destination>
          <flowFileExpiration>0 sec</flowFileExpiration>
          <labelIndex>1</labelIndex>
          <name></name>
          <selectedRelationships>splits</selectedRelationships>
          <source>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5f77026d-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </source>
          <zIndex>0</zIndex>
        </connections>
        <connections>
          <id>5f94a325-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <backPressureDataSizeThreshold>1 GB</backPressureDataSizeThreshold>
          <backPressureObjectThreshold>10000</backPressureObjectThreshold>
          <destination>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5a6fab6e-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </destination>
          <flowFileExpiration>0 sec</flowFileExpiration>
          <labelIndex>1</labelIndex>
          <name></name>
          <selectedRelationships>splits</selectedRelationships>
          <source>
            <groupId>015d100b-a8d4-1048-0000-000000000000</groupId>
            <id>5f947346-015d-1000-0000-000000000000</id>
            <type>PROCESSOR</type>
          </source>
          <zIndex>0</zIndex>
        </connections>
        <labels>
          <id>5f29056a-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>436.7226648057758</x>
            <y>-870.4749904776797</y>
          </position>
          <height>35.824302673339844</height>
          <label>The sample to Send the data to the TCP Server Listening on the port 5123.</label>
          <style>
            <entry>
              <key>font-size</key>
              <value>12px</value>
            </entry>
          </style>
          <width>415.9102783203125</width>
        </labels>
        <labels>
          <id>5f29e57a-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>-283.8355282752416</x>
            <y>-568.9729320664402</y>
          </position>
          <height>42.13105392456055</height>
          <label>Receive the data from PUT TCP and add ETX at end of the flow file.</label>
          <style>
            <entry>
              <key>font-size</key>
              <value>12px</value>
            </entry>
          </style>
          <width>389.63232421875</width>
        </labels>
        <labels>
          <id>5f2aeaba-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>1145.887881543904</x>
            <y>-317.0463948244642</y>
          </position>
          <height>43.18207550048828</height>
          <label>Send the data to the TCP server listening on the port 5123</label>
          <style>
            <entry>
              <key>font-size</key>
              <value>12px</value>
            </entry>
          </style>
          <width>324.4627685546875</width>
        </labels>
        <processors>
          <id>015d100e-a8d4-1048-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>740.9788269301957</x>
            <y>-776.4163252477767</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Input Directory</key>
                <value>
                  <description>The input directory from which to pull files</description>
                  <displayName>Input Directory</displayName>
                  <dynamic>false</dynamic>
                  <name>Input Directory</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>File Filter</key>
                <value>
                  <defaultValue>[^\.].*</defaultValue>
                  <description>Only files whose names match the given regular expression will be picked up</description>
                  <displayName>File Filter</displayName>
                  <dynamic>false</dynamic>
                  <name>File Filter</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Path Filter</key>
                <value>
                  <description>When Recurse Subdirectories is true, then only subdirectories whose path matches the given regular expression will be scanned</description>
                  <displayName>Path Filter</displayName>
                  <dynamic>false</dynamic>
                  <name>Path Filter</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Batch Size</key>
                <value>
                  <defaultValue>10</defaultValue>
                  <description>The maximum number of files to pull in each iteration</description>
                  <displayName>Batch Size</displayName>
                  <dynamic>false</dynamic>
                  <name>Batch Size</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Keep Source File</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>false</defaultValue>
                  <description>If true, the file is not deleted after it has been copied to the Content Repository; this causes the file to be picked up continually and is useful for testing purposes.  If not keeping original NiFi will need write permissions on the directory it is pulling from otherwise it will ignore the file.</description>
                  <displayName>Keep Source File</displayName>
                  <dynamic>false</dynamic>
                  <name>Keep Source File</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Recurse Subdirectories</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>true</defaultValue>
                  <description>Indicates whether or not to pull files from subdirectories</description>
                  <displayName>Recurse Subdirectories</displayName>
                  <dynamic>false</dynamic>
                  <name>Recurse Subdirectories</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Polling Interval</key>
                <value>
                  <defaultValue>0 sec</defaultValue>
                  <description>Indicates how long to wait before performing a directory listing</description>
                  <displayName>Polling Interval</displayName>
                  <dynamic>false</dynamic>
                  <name>Polling Interval</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Ignore Hidden Files</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>true</defaultValue>
                  <description>Indicates whether or not hidden files should be ignored</description>
                  <displayName>Ignore Hidden Files</displayName>
                  <dynamic>false</dynamic>
                  <name>Ignore Hidden Files</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Minimum File Age</key>
                <value>
                  <defaultValue>0 sec</defaultValue>
                  <description>The minimum age that a file must be in order to be pulled; any file younger than this amount of time (according to last modification date) will be ignored</description>
                  <displayName>Minimum File Age</displayName>
                  <dynamic>false</dynamic>
                  <name>Minimum File Age</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Maximum File Age</key>
                <value>
                  <description>The maximum age that a file must be in order to be pulled; any file older than this amount of time (according to last modification date) will be ignored</description>
                  <displayName>Maximum File Age</displayName>
                  <dynamic>false</dynamic>
                  <name>Maximum File Age</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Minimum File Size</key>
                <value>
                  <defaultValue>0 B</defaultValue>
                  <description>The minimum size that a file must be in order to be pulled</description>
                  <displayName>Minimum File Size</displayName>
                  <dynamic>false</dynamic>
                  <name>Minimum File Size</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Maximum File Size</key>
                <value>
                  <description>The maximum size that a file can be in order to be pulled</description>
                  <displayName>Maximum File Size</displayName>
                  <dynamic>false</dynamic>
                  <name>Maximum File Size</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Input Directory</key>
                <value>E:\test\new</value>
              </entry>
              <entry>
                <key>File Filter</key>
                <value>[^\.].*</value>
              </entry>
              <entry>
                <key>Path Filter</key>
              </entry>
              <entry>
                <key>Batch Size</key>
                <value>10</value>
              </entry>
              <entry>
                <key>Keep Source File</key>
                <value>true</value>
              </entry>
              <entry>
                <key>Recurse Subdirectories</key>
                <value>true</value>
              </entry>
              <entry>
                <key>Polling Interval</key>
                <value>0 sec</value>
              </entry>
              <entry>
                <key>Ignore Hidden Files</key>
                <value>true</value>
              </entry>
              <entry>
                <key>Minimum File Age</key>
                <value>0 sec</value>
              </entry>
              <entry>
                <key>Maximum File Age</key>
              </entry>
              <entry>
                <key>Minimum File Size</key>
                <value>0 B</value>
              </entry>
              <entry>
                <key>Maximum File Size</key>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>1day</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>GetFile</name>
          <relationships>
            <autoTerminate>false</autoTerminate>
            <name>success</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.GetFile</type>
        </processors>
        <processors>
          <id>015d1014-a8d4-1048-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>137.53915889594214</x>
            <y>-782.5883121050358</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Local Network Interface</key>
                <value>
                  <description>The name of a local network interface to be used to restrict listening to a specific LAN.</description>
                  <displayName>Local Network Interface</displayName>
                  <dynamic>false</dynamic>
                  <name>Local Network Interface</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Port</key>
                <value>
                  <description>The port to listen on for communication.</description>
                  <displayName>Port</displayName>
                  <dynamic>false</dynamic>
                  <name>Port</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Receive Buffer Size</key>
                <value>
                  <defaultValue>65507 B</defaultValue>
                  <description>The size of each buffer used to receive messages. Adjust this value appropriately based on the expected size of the incoming messages.</description>
                  <displayName>Receive Buffer Size</displayName>
                  <dynamic>false</dynamic>
                  <name>Receive Buffer Size</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Max Size of Message Queue</key>
                <value>
                  <defaultValue>10000</defaultValue>
                  <description>The maximum size of the internal queue used to buffer messages being transferred from the underlying channel to the processor. Setting this value higher allows more messages to be buffered in memory during surges of incoming messages, but increases the total memory used by the processor.</description>
                  <displayName>Max Size of Message Queue</displayName>
                  <dynamic>false</dynamic>
                  <name>Max Size of Message Queue</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Max Size of Socket Buffer</key>
                <value>
                  <defaultValue>1 MB</defaultValue>
                  <description>The maximum size of the socket buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and incoming data will be dropped.</description>
                  <displayName>Max Size of Socket Buffer</displayName>
                  <dynamic>false</dynamic>
                  <name>Max Size of Socket Buffer</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Character Set</key>
                <value>
                  <defaultValue>UTF-8</defaultValue>
                  <description>Specifies the character set of the received data.</description>
                  <displayName>Character Set</displayName>
                  <dynamic>false</dynamic>
                  <name>Character Set</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Max Batch Size</key>
                <value>
                  <defaultValue>1</defaultValue>
                  <description>The maximum number of messages to add to a single FlowFile. If multiple messages are available, they will be concatenated along with the &lt;Message Delimiter&gt; up to this configured maximum number of messages</description>
                  <displayName>Max Batch Size</displayName>
                  <dynamic>false</dynamic>
                  <name>Max Batch Size</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Message Delimiter</key>
                <value>
                  <defaultValue>\n</defaultValue>
                  <description>Specifies the delimiter to place between messages when multiple messages are bundled together (see &lt;Max Batch Size&gt; property).</description>
                  <displayName>Batching Message Delimiter</displayName>
                  <dynamic>false</dynamic>
                  <name>Message Delimiter</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Max Number of TCP Connections</key>
                <value>
                  <defaultValue>2</defaultValue>
                  <description>The maximum number of concurrent TCP connections to accept.</description>
                  <displayName>Max Number of TCP Connections</displayName>
                  <dynamic>false</dynamic>
                  <name>Max Number of TCP Connections</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>SSL Context Service</key>
                <value>
                  <description>The Controller Service to use in order to obtain an SSL Context. If this property is set, messages will be received over a secure connection.</description>
                  <displayName>SSL Context Service</displayName>
                  <dynamic>false</dynamic>
                  <identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
                  <name>SSL Context Service</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Client Auth</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>WANT</displayName>
                      <value>WANT</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>REQUIRED</displayName>
                      <value>REQUIRED</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>NONE</displayName>
                      <value>NONE</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>REQUIRED</defaultValue>
                  <description>The client authentication policy to use for the SSL Context. Only used if an SSL Context Service is provided.</description>
                  <displayName>Client Auth</displayName>
                  <dynamic>false</dynamic>
                  <name>Client Auth</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Local Network Interface</key>
              </entry>
              <entry>
                <key>Port</key>
                <value>5123</value>
              </entry>
              <entry>
                <key>Receive Buffer Size</key>
                <value>2 kb</value>
              </entry>
              <entry>
                <key>Max Size of Message Queue</key>
                <value>10000</value>
              </entry>
              <entry>
                <key>Max Size of Socket Buffer</key>
                <value>1 MB</value>
              </entry>
              <entry>
                <key>Character Set</key>
                <value>US-ASCII</value>
              </entry>
              <entry>
                <key>Max Batch Size</key>
                <value>40</value>
              </entry>
              <entry>
                <key>Message Delimiter</key>
                <value></value>
              </entry>
              <entry>
                <key>Max Number of TCP Connections</key>
                <value>2</value>
              </entry>
              <entry>
                <key>SSL Context Service</key>
              </entry>
              <entry>
                <key>Client Auth</key>
                <value>REQUIRED</value>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>0 sec</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>ListenTCP</name>
          <relationships>
            <autoTerminate>false</autoTerminate>
            <name>success</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.ListenTCP</type>
        </processors>
        <processors>
          <id>5a6b18be-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>754.7193846159865</x>
            <y>-367.7915291969121</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Hostname</key>
                <value>
                  <defaultValue>localhost</defaultValue>
                  <description>The ip address or hostname of the destination.</description>
                  <displayName>Hostname</displayName>
                  <dynamic>false</dynamic>
                  <name>Hostname</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Port</key>
                <value>
                  <description>The port on the destination.</description>
                  <displayName>Port</displayName>
                  <dynamic>false</dynamic>
                  <name>Port</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Max Size of Socket Send Buffer</key>
                <value>
                  <defaultValue>1 MB</defaultValue>
                  <description>The maximum size of the socket send buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and incoming data will be dropped.</description>
                  <displayName>Max Size of Socket Send Buffer</displayName>
                  <dynamic>false</dynamic>
                  <name>Max Size of Socket Send Buffer</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Idle Connection Expiration</key>
                <value>
                  <defaultValue>5 seconds</defaultValue>
                  <description>The amount of time a connection should be held open without being used before closing the connection.</description>
                  <displayName>Idle Connection Expiration</displayName>
                  <dynamic>false</dynamic>
                  <name>Idle Connection Expiration</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Connection Per FlowFile</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>false</defaultValue>
                  <description>Specifies whether to send each FlowFile's content on an individual connection.</description>
                  <displayName>Connection Per FlowFile</displayName>
                  <dynamic>false</dynamic>
                  <name>Connection Per FlowFile</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Outgoing Message Delimiter</key>
                <value>
                  <defaultValue>\n</defaultValue>
                  <description>Specifies the delimiter to use when sending messages out over the same TCP stream. The delimiter is appended to each FlowFile message that is transmitted over the stream so that the receiver can determine when one message ends and the next message begins. Users should ensure that the FlowFile content does not contain the delimiter character to avoid errors. In order to use a new line character you can enter '\n'. For a tab character use '\t'. Finally for a carriage return use '\r'.</description>
                  <displayName>Outgoing Message Delimiter</displayName>
                  <dynamic>false</dynamic>
                  <name>Outgoing Message Delimiter</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Timeout</key>
                <value>
                  <defaultValue>10 seconds</defaultValue>
                  <description>The timeout for connecting to and communicating with the destination. Does not apply to UDP</description>
                  <displayName>Timeout</displayName>
                  <dynamic>false</dynamic>
                  <name>Timeout</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>SSL Context Service</key>
                <value>
                  <description>The Controller Service to use in order to obtain an SSL Context. If this property is set, messages will be sent over a secure connection.</description>
                  <displayName>SSL Context Service</displayName>
                  <dynamic>false</dynamic>
                  <identifiesControllerService>org.apache.nifi.ssl.SSLContextService</identifiesControllerService>
                  <name>SSL Context Service</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Character Set</key>
                <value>
                  <defaultValue>UTF-8</defaultValue>
                  <description>Specifies the character set of the data being sent.</description>
                  <displayName>Character Set</displayName>
                  <dynamic>false</dynamic>
                  <name>Character Set</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Hostname</key>
                <value>localhost</value>
              </entry>
              <entry>
                <key>Port</key>
                <value>5123</value>
              </entry>
              <entry>
                <key>Max Size of Socket Send Buffer</key>
                <value>1 MB</value>
              </entry>
              <entry>
                <key>Idle Connection Expiration</key>
                <value>5 seconds</value>
              </entry>
              <entry>
                <key>Connection Per FlowFile</key>
                <value>true</value>
              </entry>
              <entry>
                <key>Outgoing Message Delimiter</key>
                <value>\n</value>
              </entry>
              <entry>
                <key>Timeout</key>
                <value>10 seconds</value>
              </entry>
              <entry>
                <key>SSL Context Service</key>
              </entry>
              <entry>
                <key>Character Set</key>
                <value>US-ASCII</value>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>0 sec</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>PutTCP</name>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>failure</name>
          </relationships>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>success</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.PutTCP</type>
        </processors>
        <processors>
          <id>5a6fab6e-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>161.86794418629893</x>
            <y>-372.1031480018439</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Directory</key>
                <value>
                  <description>The directory to which files should be written. You may use expression language such as /aa/bb/${path}</description>
                  <displayName>Directory</displayName>
                  <dynamic>false</dynamic>
                  <name>Directory</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Conflict Resolution Strategy</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>replace</displayName>
                      <value>replace</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>ignore</displayName>
                      <value>ignore</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>fail</displayName>
                      <value>fail</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>append</displayName>
                      <value>append</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>fail</defaultValue>
                  <description>Indicates what should happen when a file with the same name already exists in the output directory</description>
                  <displayName>Conflict Resolution Strategy</displayName>
                  <dynamic>false</dynamic>
                  <name>Conflict Resolution Strategy</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Create Missing Directories</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>true</defaultValue>
                  <description>If true, then missing destination directories will be created. If false, flowfiles are penalized and sent to failure.</description>
                  <displayName>Create Missing Directories</displayName>
                  <dynamic>false</dynamic>
                  <name>Create Missing Directories</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Maximum File Count</key>
                <value>
                  <description>Specifies the maximum number of files that can exist in the output directory</description>
                  <displayName>Maximum File Count</displayName>
                  <dynamic>false</dynamic>
                  <name>Maximum File Count</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Last Modified Time</key>
                <value>
                  <description>Sets the lastModifiedTime on the output file to the value of this attribute.  Format must be yyyy-MM-dd'T'HH:mm:ssZ.  You may also use expression language such as ${file.lastModifiedTime}.</description>
                  <displayName>Last Modified Time</displayName>
                  <dynamic>false</dynamic>
                  <name>Last Modified Time</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Permissions</key>
                <value>
                  <description>Sets the permissions on the output file to the value of this attribute.  Format must be either UNIX rwxrwxrwx with a - in place of denied permissions (e.g. rw-r--r--) or an octal number (e.g. 644).  You may also use expression language such as ${file.permissions}.</description>
                  <displayName>Permissions</displayName>
                  <dynamic>false</dynamic>
                  <name>Permissions</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Owner</key>
                <value>
                  <description>Sets the owner on the output file to the value of this attribute.  You may also use expression language such as ${file.owner}.</description>
                  <displayName>Owner</displayName>
                  <dynamic>false</dynamic>
                  <name>Owner</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Group</key>
                <value>
                  <description>Sets the group on the output file to the value of this attribute.  You may also use expression language such as ${file.group}.</description>
                  <displayName>Group</displayName>
                  <dynamic>false</dynamic>
                  <name>Group</name>
                  <required>false</required>
                  <sensitive>false</sensitive>
                  <supportsEl>true</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Directory</key>
                <value>../../Samples/Data/Out/</value>
              </entry>
              <entry>
                <key>Conflict Resolution Strategy</key>
                <value>append</value>
              </entry>
              <entry>
                <key>Create Missing Directories</key>
                <value>true</value>
              </entry>
              <entry>
                <key>Maximum File Count</key>
              </entry>
              <entry>
                <key>Last Modified Time</key>
              </entry>
              <entry>
                <key>Permissions</key>
              </entry>
              <entry>
                <key>Owner</key>
              </entry>
              <entry>
                <key>Group</key>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>0 sec</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>PutFile</name>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>failure</name>
          </relationships>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>success</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.PutFile</type>
        </processors>
        <processors>
          <id>5f77026d-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>741.8938744358234</x>
            <y>-571.3841838311889</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Byte Sequence Format</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <description>The Byte Sequence will be interpreted as a hexadecimal representation of bytes</description>
                      <displayName>Hexadecimal</displayName>
                      <value>Hexadecimal</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <description>The Byte Sequence will be interpreted as UTF-8 Encoded text</description>
                      <displayName>Text</displayName>
                      <value>Text</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>Hexadecimal</defaultValue>
                  <description>Specifies how the &lt;Byte Sequence&gt; property should be interpreted</description>
                  <displayName>Byte Sequence Format</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence Format</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Byte Sequence</key>
                <value>
                  <description>A representation of bytes to look for and upon which to split the source file into separate files</description>
                  <displayName>Byte Sequence</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Keep Byte Sequence</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>false</defaultValue>
                  <description>Determines whether or not the Byte Sequence should be included with each Split</description>
                  <displayName>Keep Byte Sequence</displayName>
                  <dynamic>false</dynamic>
                  <name>Keep Byte Sequence</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Byte Sequence Location</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <description>Keep the Byte Sequence at the end of the first split if &lt;Keep Byte Sequence&gt; is true</description>
                      <displayName>Trailing</displayName>
                      <value>Trailing</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <description>Keep the Byte Sequence at the beginning of the second split if &lt;Keep Byte Sequence&gt; is true</description>
                      <displayName>Leading</displayName>
                      <value>Leading</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>Trailing</defaultValue>
                  <description>If &lt;Keep Byte Sequence&gt; is set to true, specifies whether the byte sequence should be added to the end of the first split or the beginning of the second; if &lt;Keep Byte Sequence&gt; is false, this property is ignored.</description>
                  <displayName>Byte Sequence Location</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence Location</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Byte Sequence Format</key>
                <value>Hexadecimal</value>
              </entry>
              <entry>
                <key>Byte Sequence</key>
                <value>03</value>
              </entry>
              <entry>
                <key>Keep Byte Sequence</key>
                <value>false</value>
              </entry>
              <entry>
                <key>Byte Sequence Location</key>
                <value>Trailing</value>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>0 sec</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>SplitContent</name>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>original</name>
          </relationships>
          <relationships>
            <autoTerminate>false</autoTerminate>
            <name>splits</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.SplitContent</type>
        </processors>
        <processors>
          <id>5f947346-015d-1000-0000-000000000000</id>
          <parentGroupId>015d100b-a8d4-1048-0000-000000000000</parentGroupId>
          <position>
            <x>149.74265807809945</x>
            <y>-575.9864010069123</y>
          </position>
          <config>
            <bulletinLevel>WARN</bulletinLevel>
            <comments></comments>
            <concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
            <descriptors>
              <entry>
                <key>Byte Sequence Format</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <description>The Byte Sequence will be interpreted as a hexadecimal representation of bytes</description>
                      <displayName>Hexadecimal</displayName>
                      <value>Hexadecimal</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <description>The Byte Sequence will be interpreted as UTF-8 Encoded text</description>
                      <displayName>Text</displayName>
                      <value>Text</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>Hexadecimal</defaultValue>
                  <description>Specifies how the &lt;Byte Sequence&gt; property should be interpreted</description>
                  <displayName>Byte Sequence Format</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence Format</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Byte Sequence</key>
                <value>
                  <description>A representation of bytes to look for and upon which to split the source file into separate files</description>
                  <displayName>Byte Sequence</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Keep Byte Sequence</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <displayName>true</displayName>
                      <value>true</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <displayName>false</displayName>
                      <value>false</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>false</defaultValue>
                  <description>Determines whether or not the Byte Sequence should be included with each Split</description>
                  <displayName>Keep Byte Sequence</displayName>
                  <dynamic>false</dynamic>
                  <name>Keep Byte Sequence</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
              <entry>
                <key>Byte Sequence Location</key>
                <value>
                  <allowableValues>
                    <allowableValue>
                      <description>Keep the Byte Sequence at the end of the first split if &lt;Keep Byte Sequence&gt; is true</description>
                      <displayName>Trailing</displayName>
                      <value>Trailing</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <allowableValues>
                    <allowableValue>
                      <description>Keep the Byte Sequence at the beginning of the second split if &lt;Keep Byte Sequence&gt; is true</description>
                      <displayName>Leading</displayName>
                      <value>Leading</value>
                    </allowableValue>
                    <canRead>true</canRead>
                  </allowableValues>
                  <defaultValue>Trailing</defaultValue>
                  <description>If &lt;Keep Byte Sequence&gt; is set to true, specifies whether the byte sequence should be added to the end of the first split or the beginning of the second; if &lt;Keep Byte Sequence&gt; is false, this property is ignored.</description>
                  <displayName>Byte Sequence Location</displayName>
                  <dynamic>false</dynamic>
                  <name>Byte Sequence Location</name>
                  <required>true</required>
                  <sensitive>false</sensitive>
                  <supportsEl>false</supportsEl>
                </value>
              </entry>
            </descriptors>
            <executionNode>ALL</executionNode>
            <lossTolerant>false</lossTolerant>
            <penaltyDuration>30 sec</penaltyDuration>
            <properties>
              <entry>
                <key>Byte Sequence Format</key>
                <value>Hexadecimal</value>
              </entry>
              <entry>
                <key>Byte Sequence</key>
                <value>03</value>
              </entry>
              <entry>
                <key>Keep Byte Sequence</key>
                <value>false</value>
              </entry>
              <entry>
                <key>Byte Sequence Location</key>
                <value>Trailing</value>
              </entry>
            </properties>
            <runDurationMillis>0</runDurationMillis>
            <schedulingPeriod>0 sec</schedulingPeriod>
            <schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
            <yieldDuration>1 sec</yieldDuration>
          </config>
          <name>SplitContent</name>
          <relationships>
            <autoTerminate>true</autoTerminate>
            <name>original</name>
          </relationships>
          <relationships>
            <autoTerminate>false</autoTerminate>
            <name>splits</name>
          </relationships>
          <style></style>
          <type>org.apache.nifi.processors.standard.SplitContent</type>
        </processors>
      </contents>
      <name>TCPListener</name>
    </processGroups>
  </snippet>
  <timestamp>07/20/2017 17:10:18 IST</timestamp>
</template>