如何从WSO2中的代理服务调用其他序列

时间:2013-10-31 08:01:24

标签: wso2 wso2esb


我想从我的代理调用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序列的正确方法吗?

1 个答案:

答案 0 :(得分:2)

使用序列介体代替克隆介体;

例如:

<sequence key="cobaUpdate"/>