apache camel 相关配置_使用apache camel从表中选择数据-问答-阿里云开发者社区-阿里云...

我希望能够使用Camel连续轮询数据库以从表中选择数据。我已经在我的Spring Boot应用程序中配置了Camel。这是我正在使用的配置

build.gradle:

implementation 'org.apache.camel:camel-jdbc-starter:2.24.0'

implementation 'org.apache.camel:camel-sql-starter:2.24.0'

RouteBuilder类:

@Component

public class CustomCamelConfig extends RouteBuilder {

Logger log = LoggerFactory.getLogger(getClass());

@Autowired

RouteDataMapper dataMapper;

@Override

public void configure() throws Exception {

from("timer://timer1?period=2s").log("Called every 2 seconds")

.setBody(constant("select * from tenders"))

.bean(dataMapper,"generateSalesData")

.noDelayer();

}

}

@Component

public class RouteDataMapper {

Logger log = LoggerFactory.getLogger(getClass());

public void generateSalesData(String payload) {

log.info("RouteDataMapper - [generateSalesData]");

log.info("payload : {}", payload);

}

}

application.properties

spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

spring.datasource.url=jdbc:oracle:thin:@xxx:xxx/zzz

spring.datasource.username=zzz

spring.datasource.password=zzz

我面临的问题是,当我打印bean方法参数(generateSalesData(字符串有效载荷))时,我得到查询字符串本身(“ select * from bids”),而不是表中的值。configure方法中的setBody()不接受sql:select .. statement,显示为“ ProcessorDefinition类型的setBody(Expression)方法不适用于参数(String)”。

我是骆驼的新手。有人可以让我知道我想念的是什么。

问题来源:Stack Overflow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值