Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Curso Apache Camel

O curso de Apache Camel foi descontinuado pela Alura oficialmente. Porem ainda esta na lista de cursos.

Baixei o Zip e estou trabalhando com Java 8. Ao copiar o código igual o do ensinado pelo professor esta dando erro.

Código da Classe RotaPedidos.java


package br.com.caelum.camel;

import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class RotaPedidos {

    public static void main(String[] args) throws Exception {

        CamelContext context = new DefaultCamelContext();
        context.addRoutes(new RouteBuilder() {

            @Override
            public void configure() throws Exception{
                from("file:pedidos?delay=5s&noop=true").
                log("Camel trabalhando!!").
                log("${id} - ${body}").
                to("file:saida");
        }

        });

        context.start();
        Thread.sleep(20000);
        context.stop();

    }    
}

Erro no Console:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlRootElement at org.apache.camel.model.OptionalIdentifiedDefinition.getShortName(OptionalIdentifiedDefinition.java:79) at org.apache.camel.impl.DefaultNodeIdFactory.createId(DefaultNodeIdFactory.java:36) at org.apache.camel.model.RouteDefinitionHelper.forceAssignIds(RouteDefinitionHelper.java:152) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:930) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3245) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:2968) at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:172) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2799) at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2795) at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2818) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2795) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2764) at br.com.caelum.camel.RotaPedidos.main(RotaPedidos.java:24) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlRootElement at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 14 more

1 resposta
solução!

Tive uma ajuda de um amigo que comentou sobre o JAXB. No arquivo Pom.xml fiz a inclusão da biblioteca e criei a pasta saída na mão (não sei se seria criado).

    <!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
  </dependencies>

O erro reportado sumiu e os arquivos foram criados na pasta saída.

Obrigado, Joel Andrade