Вы пытаетесь создать динамический запрос.Для параметризованного запроса необходимо разделить значения параметров с помощью заполнителей.Параметризованный параметр не заменит выражения.
Вот разница между двумя вариантами:
<db:select config-ref="DBConfig" doc:name="Database">
<db:parameterized-query><![CDATA[select * from employees where employee_country= :country limit 1,10;]]></db:parameterized-query>
<db:in-param name="country" type="VARCHAR" value="#[message.inboundProperties.'http.query.params'.country]" />
</db:select>
Динамический:
<db:select config-ref="DBConfig" doc:name="Database">
<db:dynamic-query><![CDATA[select * from employees where employee_country=#[message.inboundProperties.'http.query.params'.country] limit #[message.inboundProperties.'http.query.params'.start],#[message.inboundProperties.'http.query.params'.limit]]]></db:dynamic-query>
</db:select>
Вот документация, объясняющая разницу:
https://docs.mulesoft.com/mule-runtime/3.7/database-connector#query-types
Параметризованным является рекомендуемый подход, поскольку недостатком использования динамических операторов запросов является безопасность, поскольку он оставляет оператор открытым для внедрения SQL.