Groovy 如何从flowFile队列中删除使用过的flowFile?
我只想从成功队列中获取一个first flowFile,并将其数据用于以后的流程,然后将其从流程会话中删除。当我获取此文件并将其数据提取到另一个流文件时,我对其执行Groovy 如何从flowFile队列中删除使用过的flowFile?,groovy,apache-nifi,Groovy,Apache Nifi,我只想从成功队列中获取一个first flowFile,并将其数据用于以后的流程,然后将其从流程会话中删除。当我获取此文件并将其数据提取到另一个流文件时,我对其执行session.remove()操作的使用过的流文件实际处于成功队列中。我应该如何防止这种情况?以下是我的工作流程代码和照片: 工作流图像 import org.apache.commons.io.IOUtils import java.nio.charset.StandardCharsets import groovy.lang.*
session.remove()
操作的使用过的流文件实际处于成功队列中。我应该如何防止这种情况?以下是我的工作流程代码和照片:
工作流图像
import org.apache.commons.io.IOUtils
import java.nio.charset.StandardCharsets
import groovy.lang.*
def flowfileList = session.get(1)
if(flowfileList.size() >1) {
session.remove(flowfileList)
return
}
def name=""
def count=" "
def filename=" "
def value= 0.0;
def numb=0;
def tryOnce=0;
for(FlowFile f in flowfileList){
name=f.getAttribute("realName")
count=f.getAttribute("count")
filename=f.getAttribute("filename")
value= count as Double;
numb=Math.round(value)
}
session.remove(flowfileList);
while(tryOnce<1){
def flowFile=session.create();
flowFile=session.putAttribute(flowFile,"filename",filename)
flowFile=session.putAttribute(flowFile,"name",name)
flowFile=session.putAttribute(flowFile,"count",numb.toString())
flowFile=session.putAttribute(flowFile,"check","this")
tryOnce=tryOnce+1
session.transfer(flowFile,REL_SUCCESS)
}
import org.apache.commons.io.IOUtils
导入java.nio.charset.StandardCharset
导入groovy.lang*
def flowfileList=session.get(1)
if(flowfileList.size()>1){
会话.删除(流文件列表)
返回
}
def name=“”
def count=“”
def filename=“”
def值=0.0;
def numb=0;
def tryOnce=0;
for(流文件列表中的流文件f){
name=f.getAttribute(“realName”)
count=f.getAttribute(“count”)
filename=f.getAttribute(“文件名”)
值=计数为双精度;
numb=Math.round(值)
}
删除(流文件列表);
当