你可以从MuleESB <choice>中调用bean中的方法吗?

TER*_*ytE 2 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>
Run Code Online (Sandbox Code Playgroud)

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

可以这样做吗?

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

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

<when expression="muleContext.getRegistry().lookupObject('myBean').myMethod()==true" evaluator="groovy">
Run Code Online (Sandbox Code Playgroud)

Dav*_*sot 5

使用Mule 3.3,使用MEL:

<when expression="#[app.registry.myBean.myMethod()]">
Run Code Online (Sandbox Code Playgroud)

使用较旧的Mules,使用Groovy:

<when expression="muleContext.registry.lookupObject('myBean').myMethod()" evaluator="groovy">
Run Code Online (Sandbox Code Playgroud)