Aprendendo Camel: Configurando Projeto

Vamos por a mão na massa, todo código pode ser clonado no repositório do aprendendo java. Você pode ver a introdução que fiz para a série Aprendendo Camel: Intodução.

O Apache Camel tem uma quantidade insana de componentes, os mesmos podem ser visto na página da apache. Temos ali desde AHC até ZeroMQ, muita coisa mesmo minha gente.

Para fazer esse tutorial usei Java 8 e Wildfly 8.X, para configurar o server recomendo ver o tutorial que fiz para a série Aprendendo VRaptor.

A primeira coisa que temos que fazer é criar um projeto maven, com o nome camel-cdi-exemplo. Coisa simples, depois podemos editar o pom.xml, ele deve ficar como o a seguir:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.wordpress.pedrohosilva</groupId>
    <artifactId>camel-cdi-exemplo</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>

    <name>camel-cdi-exemplo</name>
    <url>https://pedrohosilva.wordpress.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <version.war.plugin>2.5</version.war.plugin>
        <version.jboss.bom>8.0.0.Final</version.jboss.bom>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wildfly.bom</groupId>
                <artifactId>jboss-javaee-7.0-with-tools</artifactId>
                <version>${version.jboss.bom}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-cdi</artifactId>
            <version>2.16.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>2.16.0</version>
        </dependency>

        <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.annotation</groupId>
            <artifactId>jboss-annotations-api_1.2_spec</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.spec.javax.ejb</groupId>
            <artifactId>jboss-ejb-api_3.2_spec</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
    
        <plugins>

            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>1.1.0.Alpha1</version>
            </plugin>

        </plugins>

    </build>
</project>

Ali colocamos as dependências do camel-cdi e do camel-core nas versões 2.16.0. Temos também outras dependências do CDI, EJB, JUnit, Annotations etc. Basta ficar igual esse de cima de que tá tudo redondo.

Temos agora que criar o beans.xml vazio dentro de WEB-INF, assim:

Captura de Tela 2015-11-15 às 18.55.25

 E vamos editar o web.xml, colocando a o código:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
         
</web-app>

Pronto projeto configurado, vamos para a parte final.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s