Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自不带datawave的流变量的Mule load属性值_Mule - Fatal编程技术网

来自不带datawave的流变量的Mule load属性值

来自不带datawave的流变量的Mule load属性值,mule,Mule,我有一个场景,需要从属性文件中获取值,需要从变量中获取值 我的道具文件 org1 =active org1_oracle_user = blah org1_oracle_password = blahblah org2 =active org2_oracle_user = blah2 org2_oracle_password = blah2blah2 org3 = Active org3_oracle_user = blah3 org3_oracle_password = blah3blah3

我有一个场景,需要从属性文件中获取值,需要从变量中获取值

我的道具文件

org1 =active
org1_oracle_user = blah
org1_oracle_password = blahblah
org2 =active
org2_oracle_user = blah2
org2_oracle_password = blah2blah2
org3 = Active
org3_oracle_user = blah3
org3_oracle_password = blah3blah3
现在我通过一些输入得到组织的值,并且我能够保存到一些变量中

现在,如何使用不带dataweave的flowvariable从propertyfile获取值。 我知道如何通过dataweave获得值,如下所示

<set-variable variableName="orgTypeStatus" value="#[dw('p(flowVars.org_name)')]" doc:name="orgTypeStatusVariable" />

但是不知道如何在没有dataweave的情况下获取值


我给出了一个示例,因为还有其他基于组织名称的道具,我不能硬编码它

通常,如果您需要从属性文件中选择值,您可以使用如下内容:-

<logger level="INFO" message="${org1}" doc:name="Logger"/>   

但是根据你的问题,我可以看出你想在不使用dataweave的情况下尝试这个。 因此,要使其成为动态的并动态地拾取属性值,您需要使用spring加载属性文件:-

 <spring:beans>
         <spring:bean id="appProps" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
             <spring:property name="singleton" value="true"/>
             <spring:property name="location" value="classpath:dev.properties"/>
         </spring:bean>
     </spring:beans>  

现在,在流程中,您可以动态尝试以下操作:

<logger level="INFO" message="${org1}" doc:name="Logger"/>
<set-variable variableName="org_name" value="org1" doc:name="OrgNameVariable" />
<set-variable variableName="orgTypeStatus" value="#[app.registry.appProps[flowVars.org_name]]" doc:name="orgTypeStatusVariable" />
<set-variable variableName="m_user" value="#[app.registry.appProps[flowVars.org_name +'_oracle_user']]" doc:name="user"/>
<logger message="Logging variables:- m_user: #[flowVars.m_user] orgTypeStatus: #[flowVars.orgTypeStatus]" level="INFO" doc:name="Logger" /> 


它表示表达式“app.registry.appProps[flowVars.org\u name]”的执行失败。(org.mule.api.expression.ExpressionRuntimeException)。现在可以工作了!!忘记使用Springbean属性加载器而不是使用旧的上下文加载器。。。将道具更改为弹簧豆后,其工作正常