Camel 获取执行时使用的RouteBuilder类

jaxagkaj  于 2023-03-23  发布在  Apache
关注(0)|答案(2)|浏览(72)

是否可以通过Exchange检索在执行时用于构建Route的RouteBuilder类?

class SimplePingRoute : RouteBuilder() {
override fun configure() {
    from("timer://foo?fixedRate=true&period=1000")
        .routeId("pong-demo-app")
        .process({exc->
            //***looking for SimplePingRoute at this point from exc*** 
        })
        .to("log:pong")
}}
xbp102n0

xbp102n01#

一个Java示例,但很容易转换为您选择的语言:

.process(exchange -> {
    System.out.println(this.getClass().getSimpleName());
})
yizd12fk

yizd12fk2#

为什么不将routebuilder存储在一个exchange属性中,以便在以后的处理中始终可用?

from("timer://foo?fixedRate=true&period=1000")
        .routeId("pong-demo-app")
        .setProperty("routeBuilder").constant( this.getClass().getName() )
        .process( exc-> System.out.println(exc.getProperty("routeBuilder")) )
        .to("log:pong")

相关问题