我们最近从Mule 3.1.2升级到3.3.0。 我们正在JBoss 5.1中使用部署在战争中的Mule。 在我们的后台应用程序中,我们使用石英入站端点然后运行各种处理器来获得大量流。喜欢这个:
<flow name="ImportXXX">
<quartz:inbound-endpoint repeatInterval="5000" startDelay="10000" jobName="QuartzImportXXX" >
<quartz:event-generator-job>
<quartz:payload>${XXX.depot} | ${archive}</quartz:payload>
</quartz:event-generator-job>
</quartz:inbound-endpoint>
<component>
...
</component>
<component>
...
</component>
</flow>
我们有大约40个与此类似的流程(处理器根据石英有效载荷执行不同的操作)
使用mule 3.3.0,这些流程中的每一个都需要大约5秒才能启动,3.1.2流量上的完全相同的配置立即启动(每个流量小于1 / 10s)。我们没有改变任何底层处理器实现,这是纯粹的迁移。 我试图删除所有特定的处理器,并将它们替换为一个只能记录一行的处理器。现在每个流程的启动“减少”到1.5秒,但仍然比3.1.2慢很多。 总体而言,问题随着流量和组件数量的增加而增加(如果我评论一半流量,单流量启动时间会提高1或2秒)
在JBoss的战争中部署时,这似乎是特定的,我在基本maven原型创建的独立Mule应用程序中尝试了完全相同的mule-config.xml,并且所有流程都像3.1.2一样平稳快速地启动。
在Mule 3.3中初始化流的方式有什么变化可以解释这个吗? 关于我可以检查或尝试的任何想法?
感谢您的帮助,
劳伦