你能从MuleESB <choice>?</choice>中调用bean中的方法吗?

时间:2013-03-14 19:18:03

标签: java javabeans mule

我希望能够执行以下操作:

<spring:beans>
    <spring:bean id="myBean" class="com.address.myClass"/>
</spring:beans>

<choice>
    <when expression="myBean.myMethod() == true" evaluator="someEvaluator">
        <!-- do some stuff -->
    </when>
</choice>

如果“myBean.myMethod()”返回true,我想调用'some stuff'。

可以这样做吗?

------更新------

大卫非常友好地帮助我找到这个有效的解决方案。由于它埋没在下面的评论中,我在这里添加了解决方案:

<when expression="muleContext.getRegistry().lookupObject('myBean').myMethod()==true" evaluator="groovy">

1 个答案:

答案 0 :(得分:5)

使用Mule 3.3,使用MEL:

<when expression="#[app.registry.myBean.myMethod()]">

使用较旧的Mules,请使用Groovy:

<when expression="muleContext.registry.lookupObject('myBean').myMethod()" evaluator="groovy">