2014-01-15 131 views
4

我对VFS代理服务如何在WSO2 ESB 4.8.0上工作有些疑问。WSO2 ESB 4.8 VFS代理服务 - MoveAfterFailure?

我准备了下面的测试服务:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="testvfs" 
     transports="vfs" 
     statistics="enable" 
     trace="enable" 
     startOnLoad="true"> 
    <target> 
     <inSequence> 
     <log level="full"> 
      <property name="test" value="before error"/> 
     </log> 
     <dbreport> 
      <connection> 
       <pool> 
        <password>admin</password> 
        <user>admin</user> 
        <url>adfs</url> 
        <driver>dfsa</driver> 
       </pool> 
      </connection> 
      <statement> 
       <sql>select 1;</sql> 
      </statement> 
     </dbreport> 
     <log level="full"> 
      <property name="test" value="after error"/> 
     </log> 
     </inSequence> 
    </target> 
    <parameter name="transport.PollInterval">1</parameter> 
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
    <parameter name="transport.vfs.FileURI">file://C:\testvfs\in</parameter> 
    <parameter name="transport.vfs.MoveAfterProcess">file://C:\testvfs\out</parameter> 
    <parameter name="transport.vfs.MoveAfterFailure">file://C:\testvfs\original</parameter> 
    <parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>  
    <parameter name="transport.vfs.ContentType">text/plain</parameter> 

    <description/> 
</proxy> 

它应该:

  • 等待文件出现在C:\ testvfs \在
  • 过程中的文件(在我的例子,do log-dbreport-log sequence)
  • 如果处理成功,将文件移动到C:\ testvfs \ out
  • if有一个失败,该文件应该去C:\ testvfs \ original

至少这就是我了解VFS传输和它的参数。

我故意损坏了dbreport mediator(不正确的url和驱动程序类)。我期望每个输入都被转移到\原始目录,因为处理总是失败。

而是将文件转到\ out目录。

我错过了什么,或者它是4.8.0中的错误?

回答