使用ApacheCamel将数据库表导出为JSon的行为不符合预期
我想使用下面列出的代码将一个数据库表导出到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:
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")