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

在apache camel中跨不同的camel上下文传递属性值

沈实
2023-03-14

如何将camel中的属性传递给不同的camel上下文?我当前的体系结构将处理4种不同类型的消息(A、B、C、D),它只对所有这些消息使用相同的路由,而保存时根据消息类型更改DB表名,但现在我有一个要求,我只需要为特定消息从exchange对象中保存很少的值。我正在考虑在路由中设置一个属性,消息类型是'E',我将把它指向另一个路由。但是如何将属性值传递给不同的camel上下文

共有1个答案

司空修贤
2023-03-14

我不知道您指的是应用程序属性(比如Java属性文件中的)还是Exchange属性,比如用于包装消息的Camels Exchange对象中的Exchange属性。

但是,听起来像是后者,因为应用程序属性通常不传递。

Exchange属性只是处理过程中消息的Camel包装的一部分。如果在路由处理过程中向另一个endpoint发送消息,如.to(endpoint),通常只发送消息并丢弃交换。

from(endpoint)
    .setProperty("myProperty", value)
    .to("activemq:queue:myQueue")
    // myProperty is no more available at myQueue
from(endpoint)
    .setHeader("myHeader", value)
    .to("activemq:queue:myQueue")
    // myHeader is still available at myQueue
 类似资料:
  • 我目前正在尝试添加属性组件与位置设置到我的属性文件中使用属性占位符在我的项目: 但是addComponent()函数期望的是Component类型参数,而不期望的是Property tiesComponent,即使属性组件扩展了DefaultComponent类。我已经将此依赖项添加到pom.xml使用它: 并且还添加了资源标签: 我得到的错误看起来像这样: Java:不兼容类型:org.apac

  • servlet 可以通过名字将对象属性绑定到上下文。同一个 Web 应用内的其他任何 servlet 都可以使用绑定到上下文的任意属性。以下 ServletContext 接口中的方法允许访问此功能: setAttribute getAttribute getAttributeNames removeAttribute 分布式容器中的上下文属性 在 JVM 中创建的上下文属性是本地的,这可以防止从

  •     1号  1号      1号     10号                                                                                                   10号                                         5号        5号        5号         

  • 我试图使用pyspark访问以下json的内部属性 在输出中,我正在寻找以下形式的csv atttr1、atttr2、id、分数null、“7DG6”、432,100 null、“7SS8”、238,100 我知道我可以像下面这样得到这些细节,但我不想在lambda表达式中传递432或238,因为在bigger json中这(斜体)会有所不同。我想迭代所有可用的值。 我还尝试注册一个名为“test

  • 我是SoapUI的新手,遇到了一个我不明白的问题。目标:我想在不同的测试步骤中将结果从一个Groovy脚本传递到另一个Groovy脚本。 第1步:我有一个生成GUID的Groovy脚本: 步骤2:我有一个属性转移步骤,它接受上述脚本的结果,并将其传递到HTTP请求步骤(正在工作) 步骤3:我有第二个Groovy脚本,它运行curl命令,其中需要包含相同的GUID。 第3步是问题开始的地方。如何从第