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 ....}]