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

基于文件内容的Apache Camel动态路由

罗昊空
2023-03-14
<name="queue1"/>

共有1个答案

颛孙智勇
2023-03-14

假设您有一个XML文档,您可以使用xpath提取信息并将其设置在头中,您可以使用simple

http://camel.apache.org/simple.html

http://camel.apache.org/xpath.html

@EndpointInject(uri = "direct:start")
private ProducerTemplate start;

@EndpointInject(uri = "mock:result1")
private MockEndpoint result1;

@Test
public void testName3() throws Exception {
    context.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("direct:start")
                .setHeader("address", xpath("/address/text()", String.class))
                .recipientList(simple("mock:${header.address}"));
        }
    });
    result1.expectedMessageCount(1);
    start.sendBody("<address>result1</address>");
    result1.assertIsSatisfied();
}
 类似资料:
  • 我正在尝试在最新版本的 Spring Cloud 流中使用基于内容的路由。根据这份文件 - 这是我用StreamListener编写的代码 通过使用该条件,可以将消息路由到两个不同的函数。 我正试图用如下的功能接口方法来消费消息。 如何在函数中实现类似的基于内容的路由?蒂亚。 其他细节- Spring引导版本 - 2.3.12.发布 Spring云版 - Hoxton.SR11

  • 我使用的是confluent,所以我已经根据confluent文档使用Connect.Properties中的confluent-hub安装了dibezium连接器 我需要使用io.debezium.transforms.contentbasedrouter https://debezium.io/documentation/reference/1.3/configuration/content-

  • 我目前正在为一家建筑公司建造一个场地,该公司专门从事非工作时间的紧急维修。我想在网站上的主要CTA按钮上显示他们的主要号码,并在下午6点后将此改为他们的非工作时间号码。该公司是一家英国公司,所以时间是基于英国时间。这可以用一些Javascript完成吗? 示例:在8am到5:59pm之间呼叫0141 xxxxxxxx'在6pm到7:59am之间呼叫0761 xxxxxxxx'

  • 我有用自定义单元格(继承自)填充的用户界面视图,每个单元格都包含一个,该视图根据其内容自动调整大小。事情是这样的,如何根据内容(可变视图)更改 单元格的高度。 该解决方案必须是动态的,因为用于填充< code>UIWebViews的HTML是从不断变化的提要中解析的。 我觉得我需要使用委托方法 中更改单元格的高度吗? 任何帮助都是伟大的。谢谢 两年多前我问过这个问题。通过介绍自动布局,可以找到iO

  • 我们正在使用Spring Cloud Stream v2。2带有Kafka和Avro(本机编码器/解码器)。我们正在尝试根据负载的条件使用基于内容的路由。据我所知,根据Spring Cloud Stream文档,基于内容的路由只能在标头上实现,因为负载到达条件时没有经过类型转换过程。因此,除非条件基于字节格式,否则它将无法按预期工作。但是,我知道,当在本机模式下使用Avro时,会跳过消息头,并且不