Course Outline

Module 1. Introducing the Infinispan data grid

  • Infinispan and JSR 107 – Java Temporary Caching API
  • Getting started with Infinispan
  • Installing Infinispan
  • Looking inside the box
  • Using Maven
  • Creating your first project
  • Setting up the environment

Module 2: Infinispan architecture 

  • Anatomy of an Infinispan clustered cache 
  • The embedded (P2P) mode 
  • The client/server mode 
  • The cache container
  • Default cache
  • Naming your caches 

Module 3: Understanding Infinispan Topologies

  • Clustering modes 
  • The local mode 
  • The invalidation mode 
  • The replicated mode 
  • Understanding synchronous and asynchronous replication 
  • The distribution mode 
  • Server Hinting 
  • L1 caching 

Module 4. Configuring an Infinispan cache 

  • Declarative configuration on Infinispan
  • Understanding the JGroups element
  • Configuring the threads subsystem
  • Configuring the cache-container element
  • Programmatic configuration 
  • Infinispan APIs 
  • Learning the cache API
  • Understanding cache evictions
  • Configuring cache expiration
  • Eviction v/s Expiration

Module 5. Persisting data in Infinispan

  • Configuring a cache loader
  • Filesystem-based cache loaders
  • JDBC-based cache loaders
  • JPA cache store
  • Selecting a JDBC cache loader
  • Using passivation in your application

Module 6. The role of Marshalling

  • Support for Non-Serializable Objects
  • Advanced configuration
  • Plugging Infinispan with User defined Externalizers

Module 7. Querying and indexes

  • The infinispan-query module
  • Configuration
  • Cache modes and managing indexes
  • Sharing the index
  • Clustering the index in Infinispan
  • Rebuilding the index
  • Obtaining query statistics
  • Infinispan's Query DSL
  • Filtering operators
  • Boolean conditions
  • Nested conditions
  • Projections
  • Sorting
  • Pagination
  • Grouping and Aggregation

Module 8. Using HotRod Client

  • Introduction
  • Installation and configuration
  • Using the API

Module 9. Use of Streams API

  • Common stream operations
  • Local/Invalidation
  • Distribution/Replication
  • Rehash aware
  • Serialization
  • Parallel Computation
  • Task Timeout
  • Injection
  • Distributed Stream Execution
  • Key based rehash aware operators
  • Intermediate operation exceptions

Module 10: Understanding Transactions and Concurrency 

  • Transaction fundamentals 
  • Java Transaction API 
  • Transactional modes 
  • Non-transactional data access 
  • Transactional models 
  • Optimistic transaction 
  • Pessimistic transaction 
  • Choosing the better transaction model 
  • Batch mode 
  • Transaction recovery 
  • Integrating with Transaction Manager 
  • Locking and concurrency control 
  • Multiversion concurrency control 
  • Configuring isolation levels in Infinispan 
  • Implicit and explicit locking 
  • Lock timeouts 
  • Deadlock detection 
  • Data versioning 

Module 11. Introducing Hibernate OGM 

  • Hibernate OGM features 
  • Hibernate OGM architecture 
  • Understanding how the mappings work 
  • Installing and using Hibernate OGM 
  • Creating a Hibernate OGM project using Maven 
  • Configuring the persistence unit 
  • Configuring Infinispan caches for Hibernate OGM 
  • Creating the domain model 

Module 12. Understanding Cross site replication

  • Sample deployment
  • Data replication
  • Taking a site offline
  • State transfer between sites

Module 13. Looking to version 9

  • The news with version 9
  • Understanding the major changes
  • Upgrading path from 8.x to 9

Requirements

There are no specific requirements needed to attend this course.

  28 Hours
 

Testimonials

Related Courses

HTTP Web Server (Nginx, Apache, JBoss)

 28 hours

Business Rule Management (BRMS) with Drools

 7 hours

This course is aimed at enterprise architects, business and system analysts and managers who want to apply business rules to their solution. With Drools, you can write your business rules using almost natural language, therefore reducing the gap

Introduction to Drools 6 for Developers

 21 hours

This 3 days course is aimed to introduce Drools 6 to developers. This course doesn't cover drools integration, performance or any other complex topics.

Drools 7 and DSL for Business Analysts

 21 hours

This 3 days course is aimed to introduce Drools 7 to Business Analysts responsible for writing tests and rules. This course focuses on creating pure logic. Analysts after this course can writing tests and logic which then can be further

Introduction to Drools 7 for Developers

 21 hours

This 3 days course is aimed to introduce Drools 7 to developers.This course doesn't cover drools integration, performance or any other complex topics.

Drools 6 and DSL for Business Analysts

 21 hours

This 3 days course is aimed to introduce Drools 6 to Business Analysts responsible for writing tests and rules. This course focuses on creating pure logic. Analysts after this course can writing tests and logic which then can be further

Drools Rules Administration

 21 hours

This course has been prepared for people who are involved in administering corporate knowledge assets (rules, process) like system administrators, system integrators, application server administrators, etc... We are using the newest stable community

Enterprise Java Programming with Java EE and JBoss (EJB 3.0)

 28 hours

This 4-day course is for programmers who already know the Java language and wish to exploit the Enterprise Java Beans 2.0 technology while becoming aware of the security implications of distributing applications. This course has a large practical

Undertow: Embed a Web Server into Your Application

 7 hours

Undertow is a lightweight web server written in Java. It is used by JBoss's WilfFly internally and is popular as an embedded web server for JVM-based applications. In this course, participants will learn how to set up an Undertow web server

WildFly Server Administration

 14 hours

This course is created for Administrators, Developers or anyone who is interested in managing WildFly Application Server (AKA JBoss Application Server). This course usually runs on the newest version of the Application Server, but it can be