0


我想从我的代理中调用 dbreport 序列,但现在我遇到了一个问题。我编写了序列以及 vfs 代理。但我不知道如何从我的代理中调用该序列。我尝试了这个“克隆”并且它有效,但它仅在代理仅调用 1 个序列时才有效。我的代理:

<proxy name="SDL4"
      transports="vfs"
      startOnLoad="true"
      trace="disable">
  <description/>
  <target>
     <inSequence>
        <class name="insert.data.proxy.TestInsertData4"/>
        <log level="custom">
           <property name="start" value="start"/>
        </log>
        <clone>
           <target sequence="cobaInsert"/>
        </clone>
     </inSequence>
  </target>
  <parameter name="transport.vfs.ActionAfterProcess">xxx</parameter>
  <parameter name="transport.PollInterval">1</parameter>
  <parameter name="transport.vfs.FileURI">xxx</parameter>
  <parameter name="transport.vfs.MoveAfterProcess">xxx</parameter>
  <parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
  <parameter name="transport.vfs.ContentType">text/plain</parameter>


和我的 dbreport 序列

<sequence name="cobaUpdate">
  <dbreport>
     <connection>
        <pool>
           <password>postgres</password>
           <user>postgres</user>
           <url>jdbc:postgresql://xxx.xxx.xxx.xxx/xxxdb</url>
           <driver>org.postgresql.Driver</driver>
        </pool>
     </connection>
     <statement>
        <sql>update status set status = ? where id = ?</sql>
        <parameter xmlns:ns3="http://org.apache.synapse/xsd"
                   expression="get-property('status')"
                   type="VARCHAR"/>
        <parameter xmlns:ns3="http://org.apache.synapse/xsd"
                   expression="get-property('id')"
                   type="INTEGER"/>
     </statement>
  </dbreport>

从 vfs 代理调用 dbreport 序列是否正确?

4

1 回答 1

2

使用序列介体而不是克隆介体;

例如:

<sequence key="cobaUpdate"/>
于 2013-10-31T16:53:21.393 回答