5

是否可以在 Camel 中记录简单文本,如下所示

    <route>
     <from uri="direct:cxlrefdata"/>
     <to uri="log:'Hello World'" />
   </route>

我想在日志中记录这条消息“Hello World”,但我在 Apache Camel 站点中找到的所有示例都是用于记录路由消息。

例如

<route>
  <from uri="direct:t1"/>
  <to uri="log:output?showAll=true" />
</route>

我想要一些可以记录测试消息的简单东西。

4

2 回答 2

9

是的,请参阅日志 eip http://camel.apache.org/logeip.html

这允许您将人类可读的消息记录到日志中。您可以通过日志组件页面上的绿色提示框发现它:http: //camel.apache.org/log

于 2013-04-10T11:50:34.577 回答
1

TL;博士

  • 不要忘记camel.springboot.main-run-controller=trueapplication.properties

  • from("timer://scheduler?fixedRate=true&period=5s") .log("Hello World!");

让我为您提供用 Java DSL 编写的最简单的示例。我将使用 Spring Boot Camel 启动器来设置最简单的可运行代码。此示例将帮助您Hello World!根据quartz2组件cron表达式每 5 秒将消息记录到控制台。

要查看的文档:

这是您最简单的 Spring Boot 演示应用程序:

 package com.lordnighton.camel.demo;

 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;

 @SpringBootApplication
 public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

 }

HelloWorld!这是每 5 秒将消息记录到控制台的最简单路线:

 package com.lordnighton.camel.demo.routes;

 import org.apache.camel.builder.RouteBuilder;
 import org.springframework.stereotype.Component;

 @Component
 public class LogMessageRoute extends RouteBuilder {

     @Override
     public void configure() throws Exception {
         from("quartz2://logMessageGroup/logMessageTimer?cron=0/5+*+*+*+*+?")
           .log("Hello World!");
     }

}
于 2019-04-29T01:51:44.067 回答