在Camel 2.10.1上,以下工作:
<camel:bean ref="profilingBean" method="addProfilingContext('TEST')"/>
有问题的方法采用String参数
迁移到2.10.6,这不再起作用,它试图将TEST作为另一个类调用。我尝试用$ {}包装,尝试使用“&amp; quot;”的异国情调组合等...
我找到的唯一解决方案是使用常量语言将值放在标题中,然后使用simple调用标题。显然,这不是很干净......
你有什么想法怎么做?
干杯
答案 0 :(得分:4)
Camel 2.16
以及最新2.18.2
中的行为/错误仍然存在。
对于通过Spring DSL传递给bean的每个字符串常量,抛出java.lang.ClassNotFoundException
。
通过将org.apache.camel.util.ObjectHelper
的记录器设置为TRACE
,可以更加明显。
由于ClassLoader
方法(java.lang.ClassLoader.loadClass
)与给定参数名称同步,因此这种骆驼行为也会产生严重的负面性能影响。
我写了一个小小的演示来展示这个:https://github.com/groundhog2k/camel-dsl-bean-bug
答案 1 :(得分:1)
您的标题解决方案很好。您谈到的错误应该在2.10.7或2.11.1等中修复。