mulesoft,遍历属性文件并启动入站端点

时间:2017-04-07 06:42:23

标签: ftp mule

我正在研究mule flow,我需要读取一个属性文件,该文件将包含多个组织的FTP端点。每当流程开始时,它应该迭代属性文件并开始使用来自不同FTP端点的数据。 示例属性文件:

organizations:
    OrgA:
        FTPEndpoint: sftp://{orgAUser}:{password}@{hostA}:22/incoming/test
    OrgB:
        FTPEndpoint: sftp://{orgBUser}:{password}@{hostB}:22/incoming/test

我想了解如何迭代yaml属性文件?一些代码片段将不胜感激。 另外,我在mulesoft文档中读到你不能在foreach循环中放入入站端点。如果是这种情况,那么我们如何实现这一目标呢?

谢谢&问候, Vikas Gite

1 个答案:

答案 0 :(得分:1)

  

我想了解如何迭代yaml属性文件

阅读配置文件(yaml):

<context:property-placeholder properties-ref="myConfig" />    
<spring:beans>
    <spring:bean id="myConfig" class="org.springframework.beans.factory.config.YamlPropertiesFactoryBean">
        <spring:property name="resources" value="classpath:config.yaml"/>
    </spring:bean>
</spring:beans>

这里是一个Java组件,它迭代条目:

public class ConfigExample implements Initialisable {

    private Properties props;

    @Override
    public void initialise() throws InitialisationException {
        props.entrySet().forEach(entry -> {
            // do what ever you want with configuration entries.
            // for example System.out.println :)

            System.out.println(entry.getKey() + ": " + entry.getValue());
        });
    }

    public Properties getProps() {
        return props;
    }

    public void setProps(Properties props) {
        this.props = props;
    }
}

myConfig中注入ConfigExample

<spring:beans>
   <spring:bean class="ConfigExample">
       <spring:property name="props" ref="myConfig" />
   </spring:bean>
</spring:beans>
  

另外,我在mulesoft文档中读到你不能在foreach循环中放入入站端点。如果是这种情况,那么我们如何实现这一目标呢?

这是正确的,您将无法迭代入站端点,但您可以使用入站端点创建流并根据您的配置启动它们。 Here Faraz Masood描述了如何做到这一点。