Использование пользовательских объектов в операторе вставки JDBC - PullRequest
1 голос
/ 30 октября 2011

Я скопирую часть из руководства на сайте мулов:

  <jdbc:query key="outboundInsertStatement"
              value="INSERT INTO TEST (ID, TYPE, DATA, ACK) VALUES (#[map-payload:ID], 
                    #[map-payload:TYPE],#[map-payload:DATA], #[map-payload:ACK])"/>

Я пытаюсь сделать что-то очень похожее на это, только я хочу использовать пользовательский объект, а не java.util.map, которыйЯ понимаю, что это то, что ожидается.

Могу ли я получить объяснение того, что именно означает #[map-payload:ACK]?Я не понимаю синтаксис.

Является ли map-payload типом по умолчанию?

Могу ли я использовать этот синтаксис для использования созданного мной пользовательского объекта?(Некоторый MesssageObj класс с некоторыми полями)

1 Ответ

1 голос
/ 31 октября 2011

Синтаксис:

#[evaluator:expression]

используется структурой оценки выражений Mule .

Если вы посмотрите в таблицу , в которой перечислены все оценщики , вы найдете среди прочих оценщиков map-payload .

Итак, приведенный выше пример означает, что:

  • ожидается, что сообщение в полете будет иметь полезную нагрузку типа java.util.Map,
  • значения для столбцов ID, TYPE, DATA и ACK в запросе вставки будут извлечены из полезной нагрузки карты под одноименными ключами.

Конечно, не стесняйтесь использовать любой другой оценщик, который лучше соответствует вашей полезной нагрузке в полете.

...