我对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>
它应该:
至少我是如何理解VFS传输及其参数的。
我故意损坏了dbreport介体(错误的url和驱动程序类)。我希望每个输入都转移到\ original目录,因为处理总是失败。
而是将文件转到\ out目录。
我错过了什么或者它是4.8.0中的错误吗?
答案 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/