2015-08-27 61 views
0

快速,短射骡子ESB如何定义变量UPFRONT

有没有一种方法来设置UPFRONT预期的输入参数,流量[会收到]?不得不提到的目的是利用Anypoint Studio的Metada窗格,该窗格显示“输出变量”(无论它们是有效载荷,流量还是会话变量)。

的阐述,与上下文解释

我是一个 '懒惰' 的程序员。我非常喜欢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”是点击,并寻找到元数据窗格(假设你是在标准的“骡子设计的角度来看,此窗格位于窗口的右下角),点击'输出'标签,并且voilà:'whatever'流变量 [设置在“flow.SetVariables”子流程中)。

以下是我所描述的屏幕的网址:http://i.stack.imgur.com/raSYc.png

我最初的尝试是使用'set-variable'设置一个子流来嘲笑这些变量的创建。只有少数变量(我的手只有五个手指,因此五个变量是限制)或参数平坦时(不是嵌套的,例如'/ quantity/value,/ quantity/UOM'),这是可以接受的。或'/价格/价值,/价格/货币')。

但是严肃地说:6个月后,我不记得流量期望的输入参数是什么。或者,如果您正在处理结构化的,多级嵌套的XML输入,就像那些OAGIS XML一样,那么设置它就会很困难(如何在结构中添加'那个'简单的东西?)

这样做的想法也很容易维护这些流量。其他人会来学习骡子,并保持这些流量。因此,我想让他们的生活变得更加容易(更不用说,这将帮助他们自己做这件事)

因此我的问题:有没有办法将UPFRONT设置为期望的输入参数流量[将收到]?不得不提到的目的是利用Anypoint Studio的Metada窗格,该窗格显示“输出变量”(无论它们是有效载荷,流量还是会话变量)。

+1

你可以考虑编辑/更新此把你正在问的实际问题(在最后一段)并将其移到开头/顶部。你可能不想假设每个人都会在阅读你所问的实际问题之前阅读其他多段文字(最后)。 – sideshowbarker

回答

0

在属性视图的左侧有一个元数据标签。您可以在其中指定消息处理器的输入/输出元数据。

如果它们是结构化类型(XML,JSON等),则可以使用模式文件或样本数据(以及它会尝试推断模式)

enter image description here

+0

这正是我一直在寻找的!非常感谢您指出这一点!对于那些来到这里,这里是关于这个功能的Mule的文档的链接:https://developer.mulesoft.com/docs/display/current/Custom+Metadata+Tab – Feng