我希望在我的flowFile队列中有一定量的flowFile时进行传输操作,并对未使用的File进行删除操作。可以从我的flowfile数组列表中删除操作导致dissapear flowfile吗?这是我的代码:
import org.apache.commons.io.IOUtils
import java.nio.charset.StandardCharsets
import groovy.lang.*
def flowFile=session.get();
def name=flowFile.getAttribute("realName")
def count=flowFile.getAttribute("count")
def filename=flowFile.getAttribute("filename")
def value= count as Double;
def numb=Math.round(value)
def List<FlowFile> flowFiles= new ArrayList<>();
flowFiles.add(flowFile)
if(flowFiles.size()==numb){
for(FlowFile i in flowFiles){
if(i.getAttribute("filename").substring(0,10)==name){
session.transfer(i,REL_SUCCESS);
}
}
}
else{
session.remove(flowFile);
}
答案 0 :(得分:1)
如果您正在等待接收X个流文件,您可以使用类似的内容(假设您需要10个流文件):
def flowfileList = session.get(10)
if(flowfileList.size() < 10) {
session.rollback()
return
}
// If you get here, you have 10 flowfiles in flowfileList