Apache Camel - Learn by coding in Spring Boot
4.2 (453 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,816 students enrolled

Apache Camel - Learn by coding in Spring Boot

Learn to build Apache camel applications using Spring Boot Framework.
4.2 (453 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,816 students enrolled
Created by Dilip S
Last updated 8/2018
English
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10.5 hours on-demand video
  • 1 article
  • 65 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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
Course content
Expand all 98 lectures 10:43:57
+ Spring Boot - Quick Intro - Building a Simple REST API - For Spring Boot Newbies
7 lectures 32:15

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

Lab : Build the Skeleton app using Spring Intializr
05:19

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

Preview 01:41
Lab: Controller Layer - @RestConTroller
05:20

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

Lab: Service Layer - @Service and @Autowired
04:25

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

Lab: Spring Profiles : dev, nonprod, prod
07:44

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

Build and run the Simple Rest API app
05:47
+ Camel- Quick Intro - For Camel Newbies
4 lectures 33:22
Lab : Coding a Simple Camel Route
16:10

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

Lab : Logging in Camel
08:00
How Camel Transports the content ?
05:40
Camel Architecture
03:32
+ App# 1 - Build a Simple Camel Route - File -> DB -> MAIL
7 lectures 41:24

Build the skeleton camel+spring boot app using Spring Initializr

Preview 04:19

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

Preview 10:00

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

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

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

Build the artifact and run the app
08:50

Summary of this section.

Summary
00:52
+ Testing a Spring Boot Camel Route - Junit
3 lectures 33:23

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

Lab : Unit Testing - Spring Boot Camel Route
13:59
Lab : Mock Testing - Spring Boot Camel Route
13:23

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

Build an artifact and run the app
06:01
+ Enable Logging in Spring Boot - Using LogBack and Lombok
2 lectures 14:33

This tutorial covers the logback configuration for Spring boot app.

Lab : Enabling LogBack config
08:12

This tutorial covers the lombok configuration for Spring boot app.

Lab : Logging using Lombok
06:21
+ Connecting to PostGres DB
13 lectures 01:31:31

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

Overview
00:39

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

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

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

Lab : Splitter EIP to Split the Records
03:05

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

Demo : Download and Install Postgres in Mac
02:23

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

Demo : Download and Install Postgres in Windows
05:27

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

Lab: Design/Create Table for the application
07:06

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

Lab: Cofiguring the data source in Spring Boot App
11:42

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

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

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

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

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

Lab : Build the UPDATE operation and into DB
07:00

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

Lab : Build the DELETE operation and Persist the data into DB
04:16

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

Lab : Updating Test Cases
06:55

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

Lab : Build an artifact and run the app
06:48
+ Error/Exception Handling in Camel Route
6 lectures 49:47

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

Preview 03:44

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

Exception Handling in Apache Camel - Intro and Life Cycle
04:46

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

Lab: Adding an Application Exception
06:48

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

Lab : Error Handler - DeadLetterChannel Error Handler + Redelivery
13:44

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

Lab : Exception - OnException
15:19

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

Lab : Build and Run the App
05:26
Requirements
  • Basic Knowledge of Java
  • Knowledge on tools like IntelliJ
  • Understanding and experience with Spring Boot
Description

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.


Who this course is for:
  • Anyone who is willing to learn Apache Camel with Spring Boot.
  • Anyone who would like to expand their knowledge in Apache camel.
  • Any who wants to learn about different integrations with Camel