2
respostas

Método log() não funciona

Olá, estou utilizando o camel em uma aplicação spring boot, porém não estou conseguindo mostrar o log no console com o método log(), nada funciona (log("${body}") , log("${id}") , etc).

Segue abaixo minhas dependencias relativas ao camel no pom.xml:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-boot-starter</artifactId>
    <version>2.22.2</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-servlet-starter</artifactId>
    <version>2.22.2</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jackson</artifactId>
    <version>2.22.2</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-http4</artifactId>
    <version>2.22.2</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jaxb-starter</artifactId>
    <version>2.23.1</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-log</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-xstream-starter</artifactId>
    <version>3.0.0-RC3</version>
</dependency>

Desde já, agradeço

2 respostas

Oi Augusto

Posta seu código camel aqui para darmos uma olhada, por favor.

Bom dia.

Segue o código. Observações:

  • em aplicações Java comum, usando as bibliotecas do curso, funciona normalmente (removendo a parte de rest)
  • o objetivo desse código é ser um serviço rest, por isso coloquei a anotação @Component, ao inciar a aplicação esse serviço é executado e se colocar um "print" dentro do processador para essa variável arquivo ele irá printar o valor, porem se acessar o serviço (GET) .../camel/teste, tanto a variavel como o log() não mostram mais nada.
@Component
public class TestesCamel extends RouteBuilder {
    @Override
    public void configure() {

        restConfiguration().component("servlet");

        rest()
            .get("/teste")
                .to("direct:pedidos");

                from("direct:pedidos")
                    .from("file:src/main/resources/pedidos?delay=5s&noop=true")
                        .process(new Processor() {
                             @Override
                             public void process(Exchange exchange) throws Exception {
                                 String arquivo = exchange.getIn().getBody(String.class);
                                 exchange.getOut().setBody(arquivo);
                             }
                           })
                        .log("${body}")
                       .end();

    }
}