将属性作为映射加载到Mule流中

将属性作为映射加载到Mule流中,mule,Mule,我目前正在使用Mule ESB 3.4。为了在运行时配置属性并加载.properties文件,我使用Mule属性占位符组件。当键本身是动态的时,我需要提取属性值。对于eg;我必须将多个应用程序的URL存储在一个属性文件中(如查找表)。这里我的密钥是应用程序id,值是URL。我需要根据作为请求的一部分提供给mule流的应用程序Id检索URL。有没有办法做到这一点?应用程序的数量可能在10-15之间。因此,我不想将其存储在数据库中并检索它。有没有一种方法可以通过配置使用mule来实现它?您可以使用S

我目前正在使用Mule ESB 3.4。为了在运行时配置属性并加载.properties文件,我使用Mule属性占位符组件。当键本身是动态的时,我需要提取属性值。对于eg;我必须将多个应用程序的URL存储在一个属性文件中(如查找表)。这里我的密钥是应用程序id,值是URL。我需要根据作为请求的一部分提供给mule流的应用程序Id检索URL。有没有办法做到这一点?应用程序的数量可能在10-15之间。因此,我不想将其存储在数据库中并检索它。有没有一种方法可以通过配置使用mule来实现它?

您可以使用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:application.properties"/>
        </spring:bean>
    </spring:beans>

并使用MEL在流中动态访问它,类似于:

 <logger message="My prop #[app.registry.appProps[flowVars.someKey]]" level="INFO" />


将flowVars.someKey替换为您希望检索动态密钥的方式。

您可以使用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:application.properties"/>
        </spring:bean>
    </spring:beans>

并使用MEL在流中动态访问它,类似于:

 <logger message="My prop #[app.registry.appProps[flowVars.someKey]]" level="INFO" />


将flowVars.someKey替换为您希望检索动态密钥的方式。

@RyanCarter您能为Mule 3.7提供相同的建议吗?@RyanCarter您能为Mule 3.7提供相同的建议吗?