Mule ESB 3.4上下文属性

Amb*_*ran 1 spring esb properties mule

context:place-holder除了必须使用之外,如何访问脚本组件中加载的属性${property-name}?我想找到包含这些键值对的对象.有点像context.getProperty("property-name").

gen*_*nzo 5

Spring属性占位符在配置时解析,不存储在任何地方,因此无法在之后加载.

如果您需要存储它,您始终可以将它们注入bean并从注册表中检索它.

基本上你需要做的就是声明你的bean:

<spring:bean class="your.Bean" name="yourBean" >
   <spring:property name="yourBeanAttribute" value="${somePlaceHolder}" />
</spring:bean>
Run Code Online (Sandbox Code Playgroud)

然后你可以从脚本组件/变换器中的注册表中检索它和somePlaceHolder值:

<scripting:transformer doc:name="Script">
 <scripting:script engine="Groovy">
  <scripting:text><![CDATA[
def val = muleContext.getRegistry().lookupObject('yourBean').getYourBeanAttribute()
]]></scripting:text>
  </scripting:script>
 </scripting:transformer>
Run Code Online (Sandbox Code Playgroud)

HTH