带有新文件过滤器的Wso2 ESB目录循环

时间:2017-03-22 12:32:40

标签: xml wso2 wso2esb

我想让WSO2 ESB递归扫描本地文件夹,如果目录包含xml中未包含的文件,esb应该扫描目录中的xml格式文件(.info.xml左右)文件,esb应该执行数据库操作并将有关新文件的信息添加到xml文件中。

但是我如何让序列做到这一点,更重要的是,我需要一个入站序列吗?它应该做什么?

2 个答案:

答案 0 :(得分:1)

是的,您可以使用文件连接器search操作来执行此操作。

<fileconnector.search>
  <source>{$ctx:source}</source>
  <filePattern>{$ctx:filePattern}</filePattern>
  <recursiveSearch>{$ctx:recursiveSearch}</recursiveSearch>
  <setTimeout>{$ctx:setTimeout}</setTimeout>
  <setPassiveMode>{$ctx:setPassiveMode}</setPassiveMode>
  <setSoTimeout>{$ctx:setSoTimeout}</setSoTimeout>
  <setUserDirIsRoot>{$ctx:setUserDirIsRoot}</setUserDirIsRoot>
  <setStrictHostKeyChecking>{$ctx:setStrictHostKeyChecking}</setStrictHostKeyChecking>
</fileconnector.search>

filePattern:要搜索的文件的模式(例如,[a-zA-Z] [a-zA-Z] *。(txt | xml | jar))。

请查看here以了解搜索操作的示例用例。

答案 1 :(得分:1)

您可以下载连接器[1]并按照链接[2]添加和启用连接器,然后创建代理[3]。

文件搜索操作的示例代理[4]。

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="FileConnector_search"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="https,http">
   <target>
      <inSequence>
         <property expression="json-eval($.source)" name="source"/>
         <property expression="json-eval($.filePattern)" name="filePattern"/>
         <property expression="json-eval($.recursiveSearch)" name="recursiveSearch"/>
         <fileconnector.search>
            <source>{$ctx:source}</source>
            <filePattern>{$ctx:filePattern}</filePattern>
            <recursiveSearch>{$ctx:recursiveSearch}</recursiveSearch>
         </fileconnector.search>
         <respond/>
      </inSequence>
   </target>
   <description/>
</proxy>

样品申请。

{
     "source":"/home/vive/Desktop/file",
     "recursiveSearch":"true",
     "filePattern":".*\.xml"
}

[1] https://store.wso2.com/store/assets/esbconnector/details/48bab332-c6a6-4f5a-9b79-17e29c7ad4c6 [2] https://docs.wso2.com/display/ESB490/Managing+Connectors+in+Your+ESB+Instance [3] https://docs.wso2.com/display/ESB490/Custom+Proxy+Template [4] https://docs.wso2.com/display/ESBCONNECTORS/Working+with+the+File+Connector+Version+2#WorkingwiththeFileConnectorVersion2-search