1

我有一个关于将自定义消息处理器用作全局与本地的问题。

我一直在全球范围内定义所有自定义转换器,并在 mule 流程中引用它们。

在流中定义的对象的范围与声明为全局并在流中引用的对象的范围有什么区别?

如果消息处理器被定义为全局而不是内部流,是否会对内存产生影响?

除了可重用性之外,将处理器定义为全局还有什么好处?

Ex:  
Global Way of defining: 

<custom-transformer name="mycustom" class="org.MyClass" />  
<flow name="myflow">
    ...
    ...
    <transformer ref="mycustom" />
    ...
    ...
</flow>


Local Way of defining:
<flow name="myflow">
    ...
    ...
    <custom-transformer name="mycustom" class="org.MyClass" />
    ...
    ...
</flow>

此信息将有助于在内存和代码可维护性方面设计最佳解决方案。

4

1 回答 1

2

本地定义的转换器在注册表中被声明为不同的 bean,因此在本地一次又一次地声明它们肯定会产生成本。

因此,更喜欢在全球范围内声明类似的转换器(和组件、消息处理器......)。

于 2013-03-29T19:01:49.067 回答