Camel Dynamic To(又名ToD)是否仍需要显式?

Camel Dynamic To(又名ToD)是否仍需要显式?,dynamic,apache-camel,Dynamic,Apache Camel,据此,Camel的2.16版引入了toD结构: 现在可以使用toD轻松完成 托夫先生reemarker://templateHome/${body.templateName}.ftl 我们故意把他和托德分开。因为前者允许骆驼 优化,因为它知道它是一个静态端点,而后者是动态的 其他一些EIP(如WireTap)也支持动态to, 在其余的dsl中 托德也在。还真的有必要和toD吗?是否可以确定它是静态的还是动态的,并相应地进行分支,而不需要用户在代码中明确表示?提供这两种可能性还有一个附加值 当使用

据此,Camel的2.16版引入了toD结构:

现在可以使用toD轻松完成

托夫先生reemarker://templateHome/${body.templateName}.ftl

我们故意把他和托德分开。因为前者允许骆驼 优化,因为它知道它是一个静态端点,而后者是动态的

其他一些EIP(如WireTap)也支持动态to, 在其余的dsl中


托德也在。还真的有必要和toD吗?是否可以确定它是静态的还是动态的,并相应地进行分支,而不需要用户在代码中明确表示?

提供这两种可能性还有一个附加值

当使用todirect:foo时,Camel将在上下文启动时检查目标uri是否存在,如果不是这样,将抛出异常

当使用toD${headers.myDynamicUri}时,Camel显然无法猜测最终uri,至少在运行时之前是这样。因此,与常规to相比,您可能会有更多糟糕的意外情况,例如无效URI

但你是对的:考虑到to能做的一切,toD也能做到,Camel可能会将两者合并成一个智能to

无论如何,还要记住医生说的话:

将动态计算端点与toD一起使用时,可以计算 大量的动态端点,这会导致系统中的资源开销 由每个动态端点uri及其关联的生产者使用