2015-08-27 5 views
0

Быстрый, короткий выстрел:Mule ESB Как определить переменные авансовый

есть способ установить авансовый ожидаемый входные параметры потока [получит]? Следует упомянуть, что намерение состоит в том, чтобы использовать панель Metada Anypoint Studio, которая показывает «выходные переменные» (независимо от того, являются ли они полезной нагрузкой или потоком или переменными сеанса).

Доработанный с контекстным объяснения:

Я в 'ленивый' программист. Я очень увлекся этими автозаполняющими функциями, найденными в [большинстве] IDE. Я не хочу упоминать, как я был доволен, когда обнаружил, что Mule Anypoint Studio имеет автозаполнение и мета-данные, которые показывают созданные вещи.

Но когда я начал создавать потоки, я начинаю с интересом спрашивать себя, есть ли способ получить входящие параметры (я имею в виду те входные параметры, которые, например, ожидает поток JMS-подписки).

Возможно, случай с образцом будет легче понять. Пример XML:

<flow name="flow.JMSSubscriber"> 
    <jms:inbound-endpoint topic="/test" connector-ref="Active_MQ_PasswordReset" doc:name="JMS"/> 
    <flow-ref name="flow.SetVariables" doc:name="flow.SetVariables"/> 
    <logger level="INFO" doc:name="Logger"/> 
</flow> 
<sub-flow name="flow.SetVariables"> 
    <set-variable variableName="whatever" value="#[&quot;value&quot;]" doc:name="Variable"/> 
</sub-flow> 

Вы можете обнаружить, что нажав на ссылку потока «flow.SetVariables», и, глядя на панель метаданных (при условии, что вы на стандартной точки зрения «мул Design», эта панель находится в правый нижний угол окна), щелкните по вкладке «Выход» и voilà: «что угодно» Переменная потока [установлена ​​в подпотоке flow.SetVariables].

Вот URL экрана, который я описываю: http://i.stack.imgur.com/raSYc.png.

Мои первоначальные попытки заключались в создании подпотока, издевавшегося над созданием этих переменных, с использованием «set-variable». Это приемлемо, если у вас есть только несколько переменных (у моей руки всего пять пальцев, поэтому пять переменных - это предел) или когда параметры плоские (не вложенные, например, «количество/значение, количество/UOM», или '/ цена/значение,/цена/валюта').

Но, говоря серьезно: через 6 месяцев я не буду помнить, какие параметры ввода ожидали. Или, если вы имеете дело со структурированным вложенным XML-вложением на многоуровневом уровне, например с этими XML-документами OAGIS, возникает настоящая боль, чтобы установить это (как насчет добавления «этой» простой вещи в структуру?)

Идея сделать это также облегчает обслуживание этих потоков. Другие люди придут, чтобы узнать Мула и сохранить эти потоки. Таким образом, я хотел бы облегчить их жизнь (не говоря уже о том, что это поможет им сделать что-то самостоятельно)

Таким образом, мой вопрос: есть способ установить UPFRONT ожидаемые входные параметры поток [получит]? Следует упомянуть, что намерение состоит в том, чтобы использовать панель Metada Anypoint Studio, которая показывает «выходные переменные» (независимо от того, являются ли они полезной нагрузкой или потоком или переменными сеанса).

+1

Вы могли бы рассмотреть редактирование/обновление этого чтобы задать фактический вопрос, который вы задаете (в последнем абзаце), и переместить его в начало/верх. Вероятно, вы не хотите предполагать, что каждый прочитает несколько других параграфов, прежде чем дойти до фактического вопроса, который вы задаете (в конце). – sideshowbarker

ответ

0

В левой части окна свойств есть вкладка метаданных. Там вы можете указать метаданные ввода/вывода для процессора сообщений.

Если они структурированные типы (XML, JSON и т.д.), вы можете использовать файлы схема или выборки данных (и он будет пытаться вывести схему)

enter image description here

+0

Это именно то, что я искал !! Большое спасибо за указание на это! И для тех, кто приходит сюда, вот ссылка на документ Mule относительно этой функции: https://developer.mulesoft.com/docs/display/current/Custom+Metadata+Tab – Feng