原文发布时间:2011-01-05
作者:毛毛虫
最近在做一个FME自定义转换器的循环,使用FME2011时发现一些不同于之前版本的功能,这里简要跟大家探讨下。
在2011版本中,对含有循环的自定义转换器,克服了旧的限制(阻止在循环中使用阻塞转换器)。
自定义转换器中的循环是一个相对较老的功能,可以追溯到2006年。不过,封锁转换器比如Clipper 或 SpatialRelator或其他可以使用"Group By"功能的转换器,不能在循环中正常的工作。首先解释下什么是阻塞转换器(Blocking Transformers)。
阻塞转换器(Blocking transformers):可以理解为进入一个要素处理一个要素的转换器。
非阻塞转换器(non-blocking transformers):可以理解为必须等到要素全部达到才能处理的转换器。看下面两个图:
这并不意味着在循环转换器中不能包含这些阻塞转换器,不过它们阻止任何要素从Transformer Loop端口出去。