我想获得具有此类a++;
过滤器的流量文件
但是这个例子对我来说不起作用我应该改变什么来使这个任务有效?(p.s你能给我更好的解释,通过过滤器获得会话)
答案 0 :(得分:0)
该版本的session.get()采用FlowFileFilter对象。在上面的代码中,您传递一个布尔值(如果在该点甚至定义了fileSize)。好消息是,由于FlowFileFilter接口只有一个方法,因此可以使用闭包强制来提供闭包作为FlowFileFilter对象。这是Groovy脚本仅接受大小为>的流文件的示例。 1:
import static org.apache.nifi.processor.FlowFileFilter.FlowFileFilterResult
def flowFiles = session.get({f ->
return f.size > 0 ? FlowFileFilterResult.ACCEPT_AND_CONTINUE
: FlowFileFilterResult.REJECT_AND_CONTINUE}
as FlowFileFilter)
flowFiles?.each {session.transfer(it, REL_SUCCESS)}