我使用camel-sql组件,如下所示:
<to uri="sql:select * from myTable?dataSource=#java:/MySqlDS"/>现在,我要做的是从头值中检索sql命令。在文档之后,我尝试了这样的方法:
<to uri="sql::#${headers.sql}?dataSource=#java:/MySqlDS"/>其结果是:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得在第1行“select* from”附近使用的正确语法。
(请在开头和结尾注意两个单引号)使用${headers.sql}结果:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法出现错误;请检查与MySQL服务器版本对应的手册,以获得在第1行“${headers.sql}”附近使用的正确语法。
问题:我需要做些什么来防止双引号并最终得到有效的语法?
请注意,头值是在支持bean的路由内设置的,而不是在xml中,因此我不能执行类似this...or的操作,可以吗?:
<setHeader headerName="myHeader">
<constant>myValue</constant>
</setHeader>发布于 2016-06-27 14:42:57
请参阅这个关于动态到http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html的常见问题(如使用<toD>作为动态的)。
https://stackoverflow.com/questions/38055563
复制相似问题