我想从我的代理调用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序列的正确方法吗?
答案 0 :(得分:2)
使用序列介体代替克隆介体;
例如:
<sequence key="cobaUpdate"/>