Mule表达式语言无法解析方法

Mule表达式语言无法解析方法,mule,mule-el,mvel,Mule,Mule El,Mvel,我对此有意见: package com.acme; Class CircuitBreakerUtil { public static boolean canAttempt(String breakerName) { return true; } } 我的春季宣言 <spring:bean id="circuitBreakerUtil" class="com.acme.CircuitBreakerUtil" scope="singleton"/>

我对此有意见:

package com.acme;

Class CircuitBreakerUtil {

    public static boolean canAttempt(String breakerName) {
        return true;
    }
}
我的春季宣言

<spring:bean id="circuitBreakerUtil" class="com.acme.CircuitBreakerUtil" scope="singleton"/>

为什么你可以在你需要的地方尝试下面的方法

#[com.acme.CircuitBreakerUtil.canAttempt(param)]
使用MEL表达式

甚至您也可以在这里使用expressio组件


此外,您可以将其声明为全局表达式并在任何地方重用。

为什么您可以在需要的地方尝试下面的方法

#[com.acme.CircuitBreakerUtil.canAttempt(param)]
使用MEL表达式

甚至您也可以在这里使用expressio组件


此外,您还可以将其声明为全局表达式并在任何地方重用。

Class CircuitBreakerUtil
是一个打字错误还是只是为了简化示例?当我在没有定义访问修饰符的情况下创建一个类时,例如:
class CircuitBreakerUtil
,它会引入错误。如果访问修饰符设置为“public class CircuitBreakerUtil”,则该修饰符工作正常。感谢您的帮助。我发现,当我在方法前面加上“is”作为返回布尔值的前缀时,它起作用了。
Class CircuitBreakerUtil
是一个拼写错误还是只是为了简化示例?当我在没有定义访问修饰符的情况下创建一个类时,例如:
class CircuitBreakerUtil
,它会引入错误。如果访问修饰符设置为“public class CircuitBreakerUtil”,则该修饰符工作正常。感谢您的帮助。我发现,当我在方法前面加上“is”作为返回布尔值的前缀时,它起了作用。这不是回答问题,而是提出了一个替代方案。它没有说明从MEL表达式调用object方法的方式有什么问题。这不是回答问题,而是提出了一种替代方法。它没有说明从MEL表达式调用object方法的方式有什么问题。
             <choice doc:name="ApiCircuitBreakerName Is Up?">
        <when expression="#[app.registry.circuitBreakerUtil.canAttempt('ApiCircuitBreakerName')]">
                <flow-ref name="CircuitBreakerFlow" doc:name="CircuitBreakerFlow"/>
               <logger message="Passed CircuitBreakerFlow" level="INFO" doc:name="Logger"/>
        </when>
        <otherwise>
               <flow-ref name="EmailTechnicalSupportFlow" doc:name="EmailTechnicalSupportFlow"/>
               <flow-ref name="fallbackFlow" doc:name="fallbackFlow"/>
               <logger message="Passed FallbackFlow" level="INFO" doc:name="Logger"/>
        </otherwise>
    </choice>
Caused by: [Error: unable to resolve method:     com.acme.CircuitBreakerUtil.canAttempt(java.lang.String) [arglength=1]]
[Near : {... app.registry.circuitBreakerUti ....}]