WSo2 ESB在数据库中保存记录

时间:2017-07-28 13:53:08

标签: java wso2esb

我想用XML创建简单的wso2 Web服务,以便在数据库和打印日志中保存记录。

2 个答案:

答案 0 :(得分:1)

要将记录保存到数据库中,可以使用“ DB Report Mediator

<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 Mediator

  <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>

我们可以使用Log Mediator

记录上述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>

答案 1 :(得分:0)

您可以使用DB Report Mediator来编写数据,也可以使用日志介体来打印日志。要公开服务,您可以创建proxy servicerest api