使用ApacheCamel将数据库表导出为JSon的行为不符合预期

使用ApacheCamel将数据库表导出为JSon的行为不符合预期,json,database,apache-camel,export,Json,Database,Apache Camel,Export,我想使用下面列出的代码将一个数据库表导出到JSON文件,代码运行时会将返回的数据行按记录拆分成一个文件,而不是预期的单个文件 骆驼路线: public void configure() throws Exception { JsonDataFormat jsonFormat = new JsonDataFormat(JsonLibrary.XStream); jsonFormat.setUnmarshalType(Customer.class); from("sql:

我想使用下面列出的代码将一个数据库表导出到JSON文件,代码运行时会将返回的数据行按记录拆分成一个文件,而不是预期的单个文件

骆驼路线:

 public void configure() throws Exception {
    JsonDataFormat jsonFormat = new JsonDataFormat(JsonLibrary.XStream);
    jsonFormat.setUnmarshalType(Customer.class);
    from("sql: SELECT * FROM assignment01.staff?dataSourceRef=dataSource")
            .marshal(jsonFormat)
            .to("file:data/test");
}
这是我的xml

    <bean id="route" class="com.huyqtran.JSonRoute"/>
<camelContext xmlns="http://camel.apache.org/schema/spring">
    <routeBuilder ref="route"/>
</camelContext>
<bean id="dataSource"
      class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/assignment01?useSSL=false"/>
    <property name="username" value="root"/>
    <property name="password" value=""/>
</bean>


我希望应用程序只为整个表创建一个JSON文件。

告诉Camel使用选项
fileExist=append
:,例如

或者通过旋转其迭代器来告诉SQL组件返回整个结果集,例如
usedierator=false

   from("sql: SELECT * FROM assignment01.staff?dataSourceRef=dataSource&useIterator=false")

发生了什么?您使用的是什么版本的Camel?它将表中的每条记录转换为一个文件。我使用的是2.19.2版
   from("sql: SELECT * FROM assignment01.staff?dataSourceRef=dataSource&useIterator=false")