У меня нижеприведенный эталон потока: <flow name="getAccountsFlow">
<logger message="Type:"#[message.inboundProperties.'http.query.params'.type]"" level="INFO" doc:name="Logger"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[select * from flights_customers where accountType = "#[message.inboundProperties.'http.query.params'.type]"]]></db:parameterized-query>
</db:select>
</flow>
Регистратор печатает значение переменной: INFO 2019-01-07 16:08:51,270 [[assignment-accounts].accounts-api-httpListenerConfig.worker.03] org.mule.api.processor.LoggerMessageProcessor: Type:"business"
Но запрос возвращает 0 строк.
Но когда я использую переменный преобразователь, значение может быть получено в запросе как: <flow name="getAccountsFlow">
<logger message="Type:"#[message.inboundProperties.'http.query.params'.type]"" level="INFO" doc:name="Logger"/>
<set-variable variableName="type" value="#[message.inboundProperties.'http.query.params'.type]" doc:name="Variable"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[select * from flights_customers where accountType = :type]]></db:parameterized-query>
<db:in-param name="type" type="VARCHAR" value="#[flowVars.type]" ></db:in-param>
</db:select>
</flow>
почему #[message.inboundProperties.'http.query.params'.type]
не отображается в запросе?