当前位置: 首页 > 知识库问答 >
问题:

Apache Camel-Spring DSL-将字符串参数传递给bean方法

苏涵润
2023-03-14

在Camel 2.10.1上,以下工作正常:

<camel:bean ref="profilingBean" method="addProfilingContext('TEST')"/>

正在讨论的方法接受一个字符串参数

迁移到2.10.6,这不再起作用,它试图调用TEST作为另一个类。我尝试过用${}包装,尝试使用“

我发现的唯一解决方案是使用常量语言将值放在标头中,然后使用简单调用标头。显然,这不是很干净...

你有什么想法怎么做吗?

干杯

共有2个答案

壤驷坚
2023-03-14

你的标题解决方案很好。你说的这个bug应该会在2.10.7,或者2.11.1等等中修复。

毛德曜
2023-03-14

在< code>Camel 2.16和最新的< code>2.18.2中仍然存在该行为/错误。

对于通过Spring DSL传递给bean的每个字符串常量,都会抛出java.lang.ClassNotFoundExc的。通过将org.apache.camel.util.ObjectHelper的记录器设置为TRACE,它变得更加可见。

这种骆驼行为也会对性能产生严重的负面影响,因为ClassLoader方法(java.lang.ClassLoader.loadClass)对于给定的参数名是同步的。我写了一个小演示来展示这一点:https://github.com/groundhog2k/camel-dsl-bean-bug

 类似资料:
  • 我正在使用Camel 2.13.1我想将一个类作为参数传递给bean中的一个方法 我能做些像 我知道我可以在header中发送限定类名,并在bean中使用它,但感觉不太对。还有其他选择吗? 我看到了这个链接,但它不适合我Apache Camel-Spring DSL-将字符串参数传递给bean方法

  • 问题内容: 我正在将ajax发布到webmethod上,我可以在客户端(通过Firebug)看到请求的状态为200,但未达到我的webmethod中的停止点(webmethod的第一行)。json参数一切正常,但是通过反序列化json的方式,我不得不将其更改为字符串。 js: aspx: 问题答案: 您在jQuery JSON帖子中缺少内容类型: 请参阅本文。当我遇到类似的问题时,它对我很有帮助:

  • 问题内容: 我想将字符串数组作为参数传递给函数。请看下面的代码 代替: 但是如果我这样做,我会收到一条错误消息,指出将其转换为。我想知道是否可以传递这样的值,或者正确的方法是什么? 问题答案: 怎么样:

  • 问题内容: 我正在尝试通过使用JSON格式的字符串初始化Javascript变量来加载数据表。如果我声明: 那么我的表将正确加载该行。 我尝试在脚本之前初始化Java字符串,然后将该对象传递给Javascript变量,如下所示: 我的表无法识别这一点,并且在尝试以这种方式传递行时无法加载该行。如何正确地将Java字符串传递给Javascript,以便我的表能够加载数据? 问题答案: 尝试使用引号。

  • 问题内容: 我正在使用的软件包gosqlite的方法带有 可变 参数,其类型为 空接口 。 如果显式传递各个参数,我可以称呼它为好: 但是,由于可变参数与我的SQL语句的运算符内的占位符相对应,因此这些占位符的数目在编译时未知,但会在运行时根据用户的操作动态变化。例如,如果用户输入四个值,我最终会得到类似于以下的SQL: 所以自然地我想用一片字符串来调用该方法: 这不会编译。我可以通过创建一个空的

  • 问题内容: 我很好奇Go中是否有可能。我有多种方法的类型。是否可以有一个函数,该函数需要一个方法参数,然后将其称为类型? 这是我想要的一个小例子: Go认为type 有一个称为的方法,而不是用传入的方法名称替换它。 问题答案: 是的,有可能。您有2(3)个选项: 规范:方法表达式 该表达式产生的功能与第一个参数等效,但具有一个显式接收器。它有签名。 在这里,方法接收器是显式的。您只需将方法名称(具