WSo2 ESB 在数据库中保存记录



我想用XML制作简单的wso2 Web服务,将记录保存在数据库中并打印日志。

要将记录保存在数据库中,您可以使用"数据库报告调解器">

<dbreport xmlns="http://ws.apache.org/ns/synapse">
<connection>
<pool>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/db_name</url>
<user>xxxx</user>
<password>xxxx</password>
</pool>
</connection>
<statement>
<sql><![CDATA[insert into table_name (column1, column2, column3) values ( ?,?,? )]]></sql>
<parameter type="VARCHAR" value="column1_entry"/>
<parameter type="VARCHAR" value="column2_entry"/>
<parameter type="VARCHAR" value="column3_entry"/>
</statement>
</dbreport>

要从数据库中获取记录,可以使用 DBLookup 中介器

<dblookup>
<connection>
<pool>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/db_name</url>
<user>xxxx</user>
<password>xxxx</password>
</pool>
</connection>
<statement>
<sql><![CDATA[select * from table_name where column1 =  ?]]></sql>
<parameter type="VARCHAR" value="column1_value"/>
<result column="column1_name" name="result1"/>
<result column="column2_name" name="result2"/>
<result column="column3_name" name="result3"/>
</statement>
</dblookup>

我们可以使用日志调解器记录上述 dblookup 语句的结果

<log level="custom">
<property expression="get-property('result1')" name="log1"/>
<property expression="get-property('result2')" name="log2"/>
<property expression="get-property('result3')" name="log3"/>
</log>

您可以使用数据库报告中介器写入数据,也可以使用日志调解器打印日志。要公开服务,您可以创建代理服务或 rest API

最新更新