Прокси-служба WSO2 ESB 4.8 VFS - MoveAfterFailure?

У меня есть некоторые сомнения относительно того, как прокси-сервисы 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?


person gruby karol    schedule 15.01.2014    source источник


Ответы (1)


Это не ошибка. Шина WSO2 Enterprise Serivce Bus (ESB) была реализована таким образом, чтобы обрабатывать ошибки при чтении сообщения ИЛИ Обработке сообщения через MoveAfterFailure.

Если вы хотите обработать отказ конечной точки ИЛИ отказ БД, вы должны использовать методы обработки ошибок, используемые в WSO2 ESB.

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

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

person Vanji    schedule 29.01.2014