Apache camel 无法将SQL输出保存到Apache Camel中的文件

Apache camel 无法将SQL输出保存到Apache Camel中的文件,apache-camel,Apache Camel,我一直在尝试这个示例,以从后端oracle获取一些行 数据源定义: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" val

我一直在尝试这个示例,以从后端oracle获取一些行

数据源定义:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@localhost:port:sid"/>
    <property name="username" value="username"/>
    <property name="password" value="password"/>
</bean>
<route id="QueryTable">
    <from uri="timer:foo?period=5s"/>
    <to uri="sql:{{sql.selectOrder}}"/>
    <to uri="file:target/data/?fileName=data.txt"/>
</route>

路由定义:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@localhost:port:sid"/>
    <property name="username" value="username"/>
    <property name="password" value="password"/>
</bean>
<route id="QueryTable">
    <from uri="timer:foo?period=5s"/>
    <to uri="sql:{{sql.selectOrder}}"/>
    <to uri="file:target/data/?fileName=data.txt"/>
</route>

它似乎可以正确地获取行,但不会创建文件并报告以下异常。任何帮助都将不胜感激

位于org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:198) 位于org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:105) ... 还有16个

对于select操作,结果是由JdbcTemplate.queryForList()方法返回的
List
type的实例

您收到了作为查询结果的
列表
。如果要将此结果保存到文件中,则必须按记录拆分列表(使用拆分器),将一条记录转换为字符串(可能您可以使用某种模板,或者只连接到字符串字段值),然后将此字符串保存(追加)到文件中。

对于select操作,结果是由JdbcTemplate.queryForList()方法返回的
List
type的实例


您收到了作为查询结果的
列表
。如果您想将此结果保存到文件中,则必须按记录拆分列表(使用拆分器),将一条记录转换为字符串(可能您可以使用某种模板,或仅连接到字符串字段值),然后将此字符串保存(追加)到文件中。

感谢您的帮助。下面是我用来将结果集保存到文件中的内容


谢谢你的帮助。下面是我用来将结果集保存到文件中的内容



更一般地说,给新手的建议是:在路线的每一步之前和之后,您应该知道消息正文的数据类型。因此:在一个步骤之前知道数据类型(如果不知道,请检查),这样您就可以询问该步骤是否可以处理该类型的主体。另外,了解步骤9产生的数据类型,如果不知道,请检查)。更一般地说,给新手的建议是:在路线中的每个步骤之前和之后,您应该知道消息正文的数据类型。因此:在一个步骤之前知道数据类型(如果不知道,请检查),这样您就可以询问该步骤是否可以处理该类型的主体。另外,了解步骤9产生的数据类型,并检查是否不知道)。