Apache骆驼直接在骆驼层中使用经典XML配置在独立中运行

发布于 2025-02-08 01:08:03 字数 1324 浏览 2 评论 0原文

在Apache Camel 3.17+中,是否可以直接包含XML DSL路由定义,因此我可以在独立的情况下运行它。

使用Java DSL,可以使用AddRoutesBuilders()添加Java路由配置,如下所示。

我想将XML上下文直接添加到Main()。

public class MainApp {

    public static void main(String... args) throws Exception {
        Main main = new Main();
        main.configure().addRoutesBuilder(new MyRouteBuilder());
        main.run(args);
    }
}
public class MyRouteBuilder extends RouteBuilder {

    public void configure() {

     from("direct:start")
            .to("mock:result");
    }
}

是否可以使用CamelContext标签在基于XML的DSL中使用Camel-Main进行?

以下是样本XML

<!-- spring xmlns added removed here for make the xml brief -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"....

<camelContext xmlns = "http://camel.apache.org/schema/spring">
   <route>
      <from uri = "direct:input"/>
      <log message = "log message for demo"/>
      <to uri = "file:src/main/resources/data/"/>
   </route>
</camelContext>

In Apache Camel 3.17+, is there a way to include xml DSL route definition directly, so I can run it in standalone.

With JAVA DSL the java route configuration can be added to the Main() context using addRoutesBuilders(), like in below example.

I wanted to add the xml context directly to the Main().

public class MainApp {

    public static void main(String... args) throws Exception {
        Main main = new Main();
        main.configure().addRoutesBuilder(new MyRouteBuilder());
        main.run(args);
    }
}
public class MyRouteBuilder extends RouteBuilder {

    public void configure() {

     from("direct:start")
            .to("mock:result");
    }
}

Is it possible to use camel-main for routes defined in xml based DSL using camelContext tags?

Below is the sample xml

<!-- spring xmlns added removed here for make the xml brief -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"....

<camelContext xmlns = "http://camel.apache.org/schema/spring">
   <route>
      <from uri = "direct:input"/>
      <log message = "log message for demo"/>
      <to uri = "file:src/main/resources/data/"/>
   </route>
</camelContext>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话已封尘 2025-02-15 01:08:03

我们可以在pom.xml中使用以下依赖关系。

  • Camel-Spring-XML&amp;
  • Camel-spring-Main
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-spring-main</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-spring</artifactId>
    </dependency>
  • mainapp.java

import org.apache.camel.spring.Main;

public class MainApp {

    public static void main(String... args) throws Exception {
        Main main = new Main();
        main.run(args);
    }

}
  • 通过在Resources/Meta-Inf/Spring/*。XML中创建XML来自动扫描基于Spring Bean的配置。

we can use below dependency in pom.xml.

  • camel-spring-xml &
  • camel-spring-main
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-spring-main</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-spring</artifactId>
    </dependency>
  • MainApp.java

import org.apache.camel.spring.Main;

public class MainApp {

    public static void main(String... args) throws Exception {
        Main main = new Main();
        main.run(args);
    }

}
  • To scan the spring bean based configuration automatically, by creating the xml in resources/META-INF/spring/*.xml.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文