来自数据库的 MULE ESB 结果为 JSON 数组

MULE ESB results from database as JSON array

我正在使用 MULE ESB 并且有一个流旨在将所有结果从 Mysql 数据库中提取出来并将所有结果放在一个 JSON 文件中。但是我将结果作为单独的 JSON 文件,而不是一个 JSON 文件(这是期望的结果)

这是我的配置文件

<context:property-placeholder location="classpath:mysql.properties,classpath:smtp.properties" />
<smtp:connector name="emailConnector" fromAddress="${smtp.from}" subject="${smtp.subject}" doc:name="SMTP" validateConnections="true"/>
<jdbc-ee:connector name="jdbcConnector" dataSource-ref="MySQL_Data_Source" validateConnections="false"  queryTimeout="10" pollingFrequency="10000" doc:name="JDBC"> 
    <jdbc-ee:query key="Users" value="SELECT * FROM test ORDER BY id ASC"></jdbc-ee:query>  
</jdbc-ee:connector>
<jdbc-ee:mysql-data-source name="MySQL_Data_Source" user="${mysql.user}" password="${mysql.password}" url="${mysql.url}" transactionIsolation="UNSPECIFIED" doc:name="MySQL Data Source"></jdbc-ee:mysql-data-source>
<flow name="flows1Flow1" > 
    <jdbc-ee:inbound-endpoint queryKey="Users" connector-ref="jdbcConnector" doc:name="JDBC"></jdbc-ee:inbound-endpoint>
    <json:object-to-json-transformer doc:name="Object to JSON"/>

    <file:outbound-endpoint path="C:\Users\IEUser\Desktop\New folder" doc:name="File" responseTimeout="10000"></file:outbound-endpoint>  
</flow>

您使用的是什么版本的 Mule?您正在使用的 jdbc 连接器在 3.5+ 中已弃用。我能够在 3.7.1 中使用以下配置获得您期望的结果:

<db:mysql-config name="MySQL_Configuration" host="localhost"
    port="" user="" database="test" pass="" doc:name="MySQL Configuration" />

<flow name="flows1Flow1">
    <poll doc:name="Poll">
        <db:select config-ref="MySQL_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[SELECT * FROM test.people]]></db:parameterized-query>
        </db:select>
    </poll>

    <json:object-to-json-transformer
        doc:name="Object to JSON" />

    <logger level="ERROR" message="#[payload]" doc:name="Logger" />

    <file:outbound-endpoint path="./people"
        doc:name="File" responseTimeout="10000" />
</flow>

HTH