Как передать логическое свойство посреднику класса в WSO2 EI

#java #class #wso2 #wso2esb #wso2ei

#java #класс #wso2 #wso2-enterprise-integrator #wso2-esb

Вопрос:

Есть ли какой-либо способ передать логический параметр посреднику класса? Я попробовал со следующим блоком кода.

 public class CustomMediator extends AbstractMediator {
    private String cacheEnabled;

    public boolean mediate(MessageContext messageContext) {}

    public String isCacheEnabled() {
        return cacheEnabled;
    }

    public void setCacheEnabled(String cacheEnabled) {
        this.cacheEnabled = cacheEnabled;
    }
}
 
 <class name="lk.chathurabuddi.CustomMediator ">
    <property name="cacheEnabled" value="true"/>
</class>
 

Но я получаю следующую ошибку времени выполнения.

 TID: [-1234] [] [2021-01-11 06:45:49,060] ERROR {org.apache.synapse.config.xml.PropertyHelper} -  Error invoking setter method named : setCacheEnabled() that takes a single String, int, long, float, double or boolean parameterargument type mismatch {org.apache.synapse.config.xml.PropertyHelper}
 

Ответ №1:

Попробуйте использовать посредник свойств.

 <class name="lk.chathurabuddi.CustomMediator">
 <property name="cacheEnabled" expression="$ctx:cacheEnabled"/>
</class>