Vibhath, That’s correct, all of the data is received as if through a single connection. There’s no notion of named inputs.
Unfortunately, that makes this a pattern that’s a bit more difficult to implement than I’d like. Generally, the way this is handled would be to add an attribute to the FlowFile in your flow using UpdateAttribute. Then your processor can use that to make sense of what the FlowFile is. So you might have a flow like: SourceA -> UpdateAttribute (add attribute ’type’ with value ’Type1’) —> YourProcessor SourceB -> UpdateAttribute (add attribute ’type’ with value ’Type2’) —/ Then, in YourProcessor, you can get the FlowFiles using a FlowFileFilter so that you can grab one FlowFile of ’Type1’ and one FlowFile of ’Type2’. OR, the alternative way, which may be easier, is to have your processor extend BinFiles instead of AbstractProcessor. If you decide to go this route, you may want to take a look at JoinEnrichment. It uses this approach and does something similar where it needs two inputs, one of type ‘Original’ and one of type ‘Enrichment’. Thanks -Mark On Jun 20, 2022, at 10:54 AM, Vibhath Ileperuma <vibhatharunapr...@gmail.com<mailto:vibhatharunapr...@gmail.com>> wrote: Hi All, We are planning to develop a custom Nifi processor which consumes two files at once. We have a set of files which contains two types of data; say 'A' type data and 'B' type data. This processor receives these two type files from two upstream connections. Processor needs to get one file from both the connections at once and do the processing. As I understand, even though we connect multiple upstream connections as inputs to a processor, in the code, it treats all the data coming from a single upstream queue. Is there a way to specify the number of input connections to the processor and take one file from each processor? If not, what is the flow file reading order if multiple input connections are available for a processor.? Thank You. Best regards, Vibhath.