WSO2 ESB 4.8 VFS代理服务 - MoveAfterFailure?

时间:2014-01-15 16:07:22

标签: wso2 wso2esb mediator vfs

我对VFS代理服务如何在WSO2 ESB 4.8.0上运行有疑问。

我准备了以下测试服务:

<?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 \ in
  • 处理文件(在我的示例中,执行log-dbreport-log序列)
  • 如果处理成功,请将文件移至C:\ testvfs \ out
  • 如果失败,该文件应转到C:\ testvfs \ original

至少我是如何理解VFS传输及其参数的。

我故意损坏了dbreport介体(错误的url和驱动程序类)。我希望每个输入都转移到\ original目录,因为处理总是失败。

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

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

1 个答案:

答案 0 :(得分:4)

这不是错误。 WSO2企业服务总线(ESB)的实现方式是在读取消息时处理错误或通过MoveAfterFailure处理消息。

如果要处理端点故障或DB故障,则必须使用WSO2 ESB中使用的错误处理技术。

[1] http://docs.wso2.org/display/ESB480/Error+Handling

[2] http://wso2.com/library/articles/wso2-enterprise-service-bus-endpoint-error-handling/