我有這個問題:騾子表達式語言無法解決方法
package com.acme;
Class CircuitBreakerUtil {
public static boolean canAttempt(String breakerName) {
return true;
}
}
我的春天聲明
<spring:bean id="circuitBreakerUtil" class="com.acme.CircuitBreakerUtil" scope="singleton"/>
我MVEL表達:
<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 ....}]
'Class CircuitBreakerUtil'是一個錯字還是隻是爲了簡化示例? 當我創建一個沒有定義訪問修飾符的類時,例如'class CircuitBreakerUtil',它會引入錯誤。如果訪問修飾符被設置,'公共類CircuitBreakerUtil',它正常工作。 –
感謝您的幫助。我想到,當我用「is」作爲前綴來返回布爾值時,它工作正常。 –