4.18 out of 5
4.18
238 reviews on Udemy

Apache Camel – Learn by coding in Spring Boot

Learn to build Apache camel applications using Spring Boot Framework.
Instructor:
Dilip S
1,514 students enrolled
Students will be able to build production grade apps in Apache Camel Framework using Spring Boot.
Students will have exposure to different components in camel by actually building apps.
Learn to develop a camel app using spring boot from Scratch
Learn to build Junit test cases for the spring boot Camel app
Learn to build a camel + Springboot with PostGres
Learn to alert via email incase of any error/exceptions
Learn to monitor the camel spring boot app and alert on any errors
Explore different libraries and components in Camel using Java DSL
Learn to build a camel + Springboot with different technologies such as Kafka, ActiveMQ, REST, DataBase, EMail and SOAP

Learn Apache Camel   by coding it in Spring Boot framework. This is purely a coding course where you will be doing a lot of code and build a fully functional app by the end of each section. 

This course will cover integrations with :

  • Kafka
  • Active MQ
  •  Postgres SQL
  •  Rest
  • SOAP,
  • File  and etc.,

Why should I take this course ?

  • This course will provide you the fundamentals of  how to build apache camel applications using Spring Boot.
  • All the concepts will be explained through code.
  • This course will walk you through the Spring Boot Integration with Camel step by step.
  • Gain confidence on the Apache Camel framework using Spring Boot by developing a fully functional application by the end of each section.
  • By the end of this course you will have a complete understanding of implementing the Apache Camel concepts in Spring Boot Framework.

Course Overview:

Section 1: Getting Started

  • This section explains about the author and course overview.

Section 2: WorkSpace SetUp – MAC

  • This sections covers installation of Java and Intellij on a Mac machine.

Section 3: WorkSpace SetUp – Windows

  • This section covers installation of Java and Intellij on a Windows machine.

Section 4: Spring Boot – Quick Intro – Building a Simple REST API

  • This section is optional and students can ignore this section if you already have experience working with Spring Boot.
  • In this section we will build a simple REST api that returns the current time and data of the time.
  • Explore different annotation options such as @Autowired and @Service.
  • Explore the Spring Profiles module to maintain configurations for different environments.

Section 5 : Camel- Quick Intro

  • This section is optional and students can ignore this section if you already have experience working with Apache Camel framework.
  • In this section we will build a simple Camel app that copied the file from one folder to another folder.
  • Learn how camel transports the content.
  • Learn about the Camel Architecture.

Section 6 – App# 1 – Build  a Simple Camel Route – File -> DB -> MAIL 

  • Overview of the app that we are going to build in the following few sections.
  • In this tutorial we will build a simple spring boot app that is going to copy the file from one node and another node.
  • Explore the CAMEL intellij Plugin.
  • Build the completely working app in your machine.

Section 7 – Testing a Spring Boot Camel Route – Camel Junit Testing Libraries

  • This section covers how to test a spring boot app using camel Junit Libraries
  • Write Code to explore the mock and integration testing of the Camel Route in Spring Boot. 

Section 8 – Enable Logging in Spring Boot – Using LogBack and Lombok

  • This section explores about how to enable logging in our Spring boot camel app.
  • Write Code to explore the logback configuration.
  • Install and Explore the Lombok plugin and configuration.

Section 9 – Connecting to  PostGres DB

  • This section explores about how to connect to PostGres DB from your spring boot camel app.
  • Write Code to parse the csv file to a Java Object using Camel-Bindy
  • Learn to install postgres in Mac/Windows machine.
  • Write Code  to configure the DataSource in your spring boot camel app.
  • Write code to perform the CRUD operation from your application using camel-jdbc component.

Section 10 – Error/Exception Handling in Camel Route

  • This is section explores and explains about different options of error handling in camel.
  • Write code to configure DefaultError Handler, DeadLetter Channel and OnException.

Section 11 – Alerting in Camel Spring Route

  • This section explores about the alerting to a configured email address from you app.
  • Write code to configure the email address in your app.
  • Write code alert on the configured email incase of any error in your app.

Section 12 – Monitoring the Camel Route application Health

  • This section explores about monitoring the camel routes and check the health of the app.
  • Write code to introduce the health check of the camel app.
  • Write code to alert in case of any of the component in the route is down.

Section 13 – Camel Spring Boot Boiler Plate Code

  • This section explains about the camel spring boot boiler plate code.
  • Boiler plate code is loaded with Mail, DB and profile configuration of the app.
  • This helps speed up the process of building the  camel spring boot app .

Section14 – App# 2 Build a Kafka Camel Route – Kafka -> DB -> MAIL 

  • This section focuses on building the camel route integrated with Kafka.
  • Setting up Kafka in your machine.
  • Write code to build the Kafka consumer using camel-kafka component.
  • Design the DB table for persisting the data.
  • Write code to  parse the JSON object to Java Object using camel-gson library.
  • Write code to configure the DB to perform the CRUD operation using camel-jdbc component.
  • Write code to test the Kafka route using CamelTest Support libraries.
  • Write code to increase the consumer count and parallel process the data from the Kafka topic..
  • Write code to publish the data in to the kafka topic.
  • Select the persisted record using the camel-sql library.
  • Run the fully functional app in your local machine.

Section 15 – App# 3 Build a ActiveMQ Camel Route – ActiveMQ -> DB -> MAIL

  • This section focuses on building the camel route integrated with ActiveMQ.
  • Setting up ActiveMQ in your machine.
  • Write code to build the activeMQ consumer using camel-activeMQ and camel-jms component.
  • Write code to  parse the JSON object to Java Object using camel-gson library.
  • Write code to configure the DB to perform the CRUD operation using camel-jdbc component.
  • Write code to test the Kafka route using CamelTest Support libraries.
  • Write code to publish the data in to the activeMQ queue.
  • Select the persisted record using the camel-sql library.
  • Run the fully functional app in your local machine.

Section 16 – App # 4 -Build a REST Camel Route – REST -> RESTLET-> DB -> MAIL

  • This section focuses on building the camel route integrated with REST API.
  • Write code to build the rest api client to call the countries rest api using the camel-http component.
  • Write code to  parse the JSON object to Java Object using camel-gson library.
  • Build a brand new post endpoint to persist the data in to the DB using the camel-restlet component.
  • Write code to test the post endpoint and persist the data in to the DB.
  • Select the persisted record using the camel-sql library.
  • Run the fully functional app in your local machine.

By the end of this course you will have a complete understanding of how to build camel apps using Spring boot from scratch. Gain confidence with Apache camel framework using Spring boot.

Course Objective

1
Course Objective

WorkSpace Setup - MAC

1
Installing Java in Mac
2
Installing Intellij in Mac

WorkSpace Setup - Windows

1
Installing Java in Windows
2
Installing Intellij in Windows

Spring Boot - Quick Intro - Building a Simple REST API - For Spring Boot Newbies

1
Overview of the app
2
Lab : Build the Skeleton app using Spring Intializr

Building the skeleton app for the rest api that we will be building in this section.

3
Spring Rest Api Flow and Design

This tutorial explains about the flow of how the rest api works with Spring boot.

4
Lab: Controller Layer - @RestConTroller
5
Lab: Service Layer - @Service and @Autowired

This coding tutorial covers the service layer and wiring the service class in the controller layer.

6
Lab: Spring Profiles : dev, nonprod, prod

In this tutorial we will learn about how to main different profiles such as dev, stage and prod in Spring boot app.

7
Build and run the Simple Rest API app

In this tutorial, we will learn about how to build , run and connect to the rest api from our machine.

Camel- Quick Intro - For Camel Newbies

1
Lab : Coding a Simple Camel Route
2
Lab : Logging in Camel

In this tutorial, I will explain about how to enable logging in camel.

3
How Camel Transports the content ?
4
Camel Architecture

App# 1 - Build a Simple Camel Route - File -> DB -> MAIL

1
Overview of the app
2
Lab: Build a skeleton Camel App using Spring Intializr

Build the skeleton camel+spring boot app using Spring Initializr

3
Lab : Build the Camel Route

In this tutorial, we will code the camel route to move the files from source to destination.

4
Lab : Running the app with dev, stage and prod configurations

In this tutorial we will code the spring profiles and move the configs to application.yml file.

5
Demo: Camel IntelliJ Plugin
6
Build the artifact and run the app

Build the artifact with all changes and run it in our machine.

7
Summary

Summary of this section.

Testing a Spring Boot Camel Route - Junit

1
Lab : Unit Testing - Spring Boot Camel Route

In this tutorial, we will learn about writing a Junit test case for a camel route in spring boot.

2
Lab : Mock Testing - Spring Boot Camel Route
3
Build an artifact and run the app

This tutorial covers, how to run the test cases while building the app.

Enable Logging in Spring Boot - Using LogBack and Lombok

1
Lab : Enabling LogBack config

This tutorial covers the logback configuration for Spring boot app.

2
Lab : Logging using Lombok

This tutorial covers the lombok configuration for Spring boot app.

Connecting to PostGres DB

1
Overview

In this section we will cover how to connect to a database and persist the data in to the database using Camel Route

2
Lab : Parse the CSV file to a Java Object using Camel Bindy Library

In this tutorial, we will have a lab exercise how to transform a csv file to a Java Object using Camel Bindy Library.

3
Lab : Splitter EIP to Split the Records

In this tutorial, we will learn how to split the records in the csv  file to individual records using the Splitter EIP.

4
Demo : Download and Install Postgres in Mac

In this tutorial , I will demonstrate how to install postgres in MAC.

5
Demo : Download and Install Postgres in Windows

In this tutorial , I will demonstrate how to install postgres in Windows.

6
Lab: Design/Create Table for the application

In this tutorial, we will design the table and create the table in the database.

7
Lab: Cofiguring the data source in Spring Boot App

In this tutorial, we will have a lab exercise on how to configure a data base connection to our app.

8
Lab : Build the INSERT operation and Persist the data - Part 1

In this tutorial, we will build the INSERT operation to persist the data in to the DB and update the test cases.

9
Lab : Build the INSERT operation and Persist the data - Part 2

In this tutorial, we will build the INSERT operation to persist the data in to the DB and update the test cases.

10
Lab : Build the UPDATE operation and into DB

In this tutorial, we will build the UPDATE and DELETE operation to persist the data in to the DB and update the test cases.

11
Lab : Build the DELETE operation and Persist the data into DB

In this tutorial, we will build the DELETE operation to persist the data in to the DB and update the test cases.

12
Lab : Updating Test Cases

In this tutorial, we will update the mock test cases with all the scenarios

13
Lab : Build an artifact and run the app

In this tutorial, we will build and run the app that we had build until this point of time.

Error/Exception Handling in Camel Route

1
Lab : Error Handler - Default Error Handler

In this tutorial, we will have a lab exercise on how camel handles the errors in the route by default.

2
Exception Handling in Apache Camel - Intro and Life Cycle

This tutorial will provide the theoretical knowledge of the the exceptional/error handling in camel.

3
Lab: Adding an Application Exception

In this tutorial, we will add our own application exception to the camel route. 

4
Lab : Error Handler - DeadLetterChannel Error Handler + Redelivery

In this tutorial, we will have a lab exercise on how handle the error in the route using dead letter channel. 

5
Lab : Exception - OnException

In this tutorial, we will have a lab exercise on how handle the error in the route using OnException.

6
Lab : Build and Run the App

In this tutorial, we will build and run the app that we had build until this point of time.

Alerting in Camel Spring Route

1
Lab : Configuring the e-mail in Spring boot

In this tutorial, we will complete the email configuration for the camel spring boot app.

2
Lab : Sending email when exception

In this tutorial, we will wire the email configuration and send it to the configured email address whenever an exception happens in the route.

3
Lab : Build and Run the app

Monitoring the Camel Route application Health

1
Lab : Camel App Health End Point

In this tutorial we will learn about how to enable the health endpoint and access the health of each component in the app.

2
Lab: Automate health checks and Trigger Event

In this tutorial we will learn about how to automate the health of the application and trigger an email event when something is not working as expected.

3
Lab : Mock Test Case for the Health Route

In this tutorial we will learn about how to write a test case and validate the healthcheck route is going to work as expected.

4
Lab : Build and Run the App

In this tutorial, we will build and run the app the completely built app

Camel Spring Boot Boiler Plate Code

1
Camel Spring Boot Boiler plate code - Features and Explanation

App# 2 Build a Kafka Camel Route - Kafka -> DB -> MAIL

1
App Overview

In this tutorial, we will have the overview of the application that we are going to build in this section.

2
Apache Kafka SetUp – Part 1

In this lecture we will learn how to download and install Kafka in your machine and  how to start Kafka broker and Zookeeper in your machine.

3
Apache Kafka SetUp – Part 2

In this lecture we will create the necessary topics that are required for this use case.

4
Lab : Setting Up the Kafka Camel Project using Boiler Plate Code

In this lecture we will set up the project for the kafka camel route.

5
Lab : Coding the Camel Kafka Consumer

In this lecture we will code the camel kafka consumer.

6
Data Contract from Upstream System

In this lecture we will define the data contract that we are going to get from the upstream system.

7
Lab : Parse the JSON Input - Camel-Gson library

In this lecture we will parse the json string to Java object using the camel-gson library.

8
Lab : Data Validation on the Input Message

In this lecture we will perform the data validation on the input message that is read from Kafka Topic. 

9
Lab : Build the DB node in the Camel Route

In this lecture we will persist the data in to the db based on the transaction type.

10
Lab : Exception/Error Handling of Kafka DB Route

In this lecture we will discuss and code the error and exception handling in our code.

11
Lab: DB Select using camel-sql library

In this lecture we will learn to perform select operation on the data that we persisted.

12
Lab : Testing the Kafka Camel Route - Part 1 - Junit

In this lecture we will write the test cases for the camel kafka route.

13
Lab : Testing the Kafka Camel Route - Part 2- Junit

In this lecture we will write the test cases for the camel kafka route.

14
Lab : Increase the consumer count

In this lecture we will learn about the importance of having more than one consumer count and how it can increase the application performance.

15
Lab : Build and Run the App fully functional app

Build and run the fully functional Kafka + camel app.

App# 3 Build a ActiveMQ Camel Route - ActiveMQ -> DB -> MAIL

1
App Overview

In this tutorial, we will have the overview of the application that we are going to build in this section.

2
Lab : ActiveMQ SetUp

In this lecture we will learn how to download and install ActiveMQ in your machine and  how to start ActiveMQ and stop ActiveMQ.

3
Lab : Setting Up the ActiveMQ Camel Project using Boiler Plate Code

In this lecture we will set up the project for the activeMQ camel route.

4
Lab : Coding the ActiveMQ Consumer

In this lecture we will code the camel activeMQ consumer.

5
Data Contract from Upstream System

In this lecture we will define the data contract that we are going to get from the upstream system.

6
Lab : Parse the JSON - Camel-Gson library

In this tutorial, we will learn about how to parse a JSON Object to a Java Object.

7
Lab : Data Validation on the Input Message

In this lecture we will perform the data validation on the input message.

8
Lab : Build the DB node in the Camel Route

In this lecture we will persist the data in to the db based on the transaction type.

9
Lab: DB Select using camel-sql library

In this lecture we will learn to perform select operation on the data that we persisted.

10
Lab : Testing the ActiveMQ Camel Route - Junit

In this lecture we will write the test cases for the camel activeMQ route.

11
Lab : Build and Run the app

In this tutorial, we will build and run the app the completely functional app.

App # 4 -Build a REST Camel Route - REST -> RESTLET-> DB -> MAIL

1
App Overview

In this tutorial, we will have the overview of the application that we are going to build in this section.

2
Lab : Setting Up the Rest Camel Project using Boiler Plate Code

In this lecture we will set up the project for the Rest camel route.

3
Lab : Coding the REST Client - Part 1

In this lecture we will build the rest client that will consumer the country data from the rest end point.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.2
4.2 out of 5
238 Ratings

Detailed Rating

Stars 5
106
Stars 4
80
Stars 3
33
Stars 2
12
Stars 1
7
b9a49dd5caec0be3834cf077d86ae549
30-Day Money-Back Guarantee

Includes

11 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion