我想先得到一个flowFile,def flowFile=session.get(1)
因为我知道它会返回一个flowFile列表,其中会有一个flowFile。然后我想从中获取一些数据并删除此会话。
之后我想获取具有特定名称的文件,如果他们不匹配此名称,我想删除或回滚会话(哪一个最适合此任务?)但是当我运行此代码时不会抛出异常,但不会做任何工作。
session.remove()
还是回滚哪一个更适合撤回不匹配的流文件?这是我的代码:
import org.apache.commons.io.IOUtils
import java.nio.charset.StandardCharsets
import java.lang.*
def flowFile= session.get(1)
def name=""
def count=0
def value=0
List<FlowFile> flowFiles = new ArrayList<FlowFile>()
for(def k in flowFile) {
name = k.getAttribute("realName")
count = k.getAttribute("amount")
value = count as Number
value = Math.round(value)
session.remove(k)
flowFile.clear()
}
def flowFile1 = session.get();
if(flowFile1.getAttribute("filename").substring(0,10) == name) {
flowFiles.add(flowFile1)
} else {
session.remove(flowFile1)
}
if(flowFiles.size() == value) {
for( def m in flowFiles) {
session.transfer(m,REL_SUCCESS)
}
flowFiles.clear()
}