Infinispan Data Grid Platform

Infinispan Data Grid Platform
eBook: $17.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $47.98    Print cover: $29.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Configure and develop applications using the Infinispan Data grid platform
  • Follow a simple ticket booking example to easily learn the features of Infinispan in practice
  • Draw on the experience of Manik Surtani, the leader, architect and founder of this popular open source project

Book Details

Language : English
Paperback : 150 pages [ 235mm x 191mm ]
Release Date : August 2012
ISBN : 184951822X
ISBN 13 : 9781849518222
Author(s) : Francesco Marchioni, Manik Surtani
Topics and Technologies : All Books, Big Data and Business Intelligence, JBoss, Open Source, Web Development

Table of Contents

Chapter 1: Installing Infinispan
Chapter 2: Using Infinispan Core API
Chapter 3: Introducing Infinispan Configuration
Chapter 4: Developing Advanced Configurations
Chapter 5: Monitoring Infinispan
Chapter 6: Infinispan and CDI
Chapter 7: Advanced Topics
Appendix: Infinispan and JBoss AS 7
  • Chapter 1: Installing Infinispan
    • What is a data grid?
    • Introducing Infinispan as a cache
      • Going beyond JSR-107
    • Installing the required software
      • Installing Java SE
        • Testing the installation
      • Installing Maven
        • Testing the installation
      • Installing Infinispan
        • Extending Infinispan with its additional modules
        • Testing the installation with the GUI demo
    • Summary
    • Chapter 2: Using Infinispan Core API
      • Infinispan operational modes
        • Running Infinispan in embedded mode
        • Running Infinispan in client-server mode
          • The memcached protocol
          • The Hot Rod protocol
          • WebSocket protocol
          • Infinispan REST interface
          • Using the Hot Rod Java client
      • Learning the Infinispan API
        • Creating your first project
        • Controlling the size of your data store
          • Data eviction
          • Data expiration
        • Using listeners
          • Listeners and synchronicity
      • Infinispan and transactions
      • Running the sample application with Maven
      • Summary
      • Chapter 3: Introducing Infinispan Configuration
        • Learning the declarative configuration
          • Global configuration settings
          • Cache configuration settings
        • Configuring cache loaders
          • Common cache loader attributes
          • Specific cache loader attributes
        • Choosing the correct cache store for your application
          • JDBC-based cache stores
        • Chaining cache loaders
        • Configuring eviction and expiration
          • Testing our ticket system with eviction and passivation
        • Infinispan programmatic configuration
          • Creating a configuration from scratch
          • Creating the Global configuration programmatically
        • Summary
        • Chapter 4: Developing Advanced Configurations
          • Introducing clustering
          • Configuring the network transport
          • Creating the Infinispan cluster
            • Configuring our application to use clustering
            • Choosing between replication and distribution
            • Advanced data distribution
              • Improving the distribution of data with virtual nodes
              • Using the L1 cache to prevent unnecessary remote calls
          • Infinispan locking strategies
            • Configuring isolation levels
            • Data locking and transactions
              • Explicit and implicit data locking
            • Showing a node locking example
              • Configuring lock timeouts
              • Using lock pools to guard your cache keys
              • Detecting deadlocks
          • Summary
          • Chapter 5: Monitoring Infinispan
            • Enabling statistics collection
            • Using JConsole to gather Infinispan data
            • Managing Infinispan with RHQ
              • Installing RHQ
              • Configuring the RHQ agent
                • Letting the agent discover Infinispan
                • Installing the Infinispan plugin
            • RHQ: your gateway to Infinispan
              • A quick Summary view of our cache
              • Getting alert conditions from your cache
              • Monitoring your system in real time
            • Summary
            • Chapter 6: Infinispan and CDI
              • A 30,000 foot overview of CDI
              • Getting set up to use Infinispan and CDI
              • Configuring and injecting Infinispan components into your CDI beans
                • Injecting a cache using CDI
                  • Configuring which cache gets injected
                • Configuring cache managers
                  • Specifying the default configuration
                  • Overriding the way an EmbeddedCacheManager is created
                  • Configuring a RemoteCacheManager
                • Handling multiple configurations
              • Controlling storage and retrieval using CDI annotations
                • Enabling cache annotations in your CDI application
                • Caching the result of a method invocation
                  • Specifying which cache to use
                  • Cache keys for cached results
                  • Custom key generation
                • Removing an entry from the cache
                • Clearing the cache
                • Updating a cache entry
              • Using Infinispan CDI with JBoss AS 7.x
              • Summary
              • Chapter 7: Advanced Topics
                • The asynchronous API
                  • NotifyingFuture
                • The query API
                  • Setting up your project to use Infinispan's querying capabilities
                    • Configuring your cache
                    • Annotating your objects
                    • Writing a query
                  • Storing indexes
                    • Infinispan directory
                    • Index storage and cache modes
                • Customizing Infinispan
                  • BaseCustomInterceptor
                    • Commands and InvocationContext
                  • Creating a custom interceptor
                  • Configuring custom interceptors
                    • Interceptor positioning
                • Summary

                Francesco Marchioni

                Francesco Marchioni is a Sun Certified Enterprise Architect employed for an Italian company based in Rome. He started learning Java in 1997 and since then has followed the path to the newest application program interfaces released by Sun. He joined the JBoss community in 2000, when the application server was running release 2.x.

                He has spent many years as a software consultant, where he has envisioned many successful software migrations from vendor platforms to open source products such as JBoss AS, fulfilling the tight budget requirements of current times.

                Over the past 5 years, he has been authoring technical articles for OReilly Media and is running an IT portal focused on JBoss products (

                He has authored the following titles:

                • JBoss AS 5 Development, Packt Publishing (December 2009), which describes how to create and deploy Java Enterprise applications on JBoss AS (
                • AS 5 Performance Tuning, Packt Publishing (December 2010), which describes how to deliver fast and efficient applications on JBoss AS (
                • JBoss AS 7 Configuration, Deployment, and Administration, Packt Publishing (December 2011), which covers all the aspects of the newest application server release (

                He has also co-authored the book Infinispan Data Grid Platform, Packt Publishing (August 2012), with Manik Surtani, which covers all the aspects related to the configuration and development of applications using the Infinispan Data Grid Platform (

                Manik Surtani

                Manik Surtani is a core R&D engineer at JBoss, a division of Red Hat. He is the founder of the Infinispan project, which he currently leads. He is also the spec lead of JSR 347 (Data Grids for the Java Platform), and represents Red Hat on the Expert Group of JSR 107 (Temporary caching for Java). His interests lie in cloud and distributed computing, big data and NoSQL, autonomous systems and highly available computing. He has a background in artificial intelligence and neural networks, highly available e-commerce systems and enterprise Java. Surtani is a strong proponent of open source development methodologies, ethos, and collaborative processes, and has been involved in open source since his first forays into computing.
                Sorry, we don't have any reviews for this title yet.

                Code Downloads

                Download the code and support files for this book.

                Submit Errata

                Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                Sample chapters

                You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                Frequently bought together

                Infinispan Data Grid Platform +    Panda3D 1.7 Game Developer's Cookbook =
                50% Off
                the second eBook
                Price for both: £20.45

                Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                What you will learn from this book

                • Learn about the core server configuration, including global configuration, data eviction/expiration, Cache loaders, and Interceptors
                • Collect and make use of statistics on a live system
                • Use the popular Contexts and Dependency Injection (CDI) programming model
                • Find out about the advanced modules provided by Infinispan, such as the Query module and the Asynchronous API
                • Extend and customize Infinispan to your needs
                • Discover advanced topics like JTA compliant transactions, clustering, and locking/concurrency patterns in a cluster

                In Detail

                In today's competitive business world, Enterprise systems must be able to deliver highly available, high transaction volumes with an increasing number of users. Infinispan enables you to do this as well as share and distribute data among servers in the most efficient way possible so that you achieve faster response times, while trying to avoid single points of failure.

                Infinispan Data Grid Platform will teach you the most important concepts for building Enterprise applications. Using Infinispan will give you a decisive competitive advantage over the standard clustered applications that are typical in the enterprise today. This, the only book to cover Infinispan, offers detailed instructions for installing, configuring, and effectively using the Infinispan platform. You will learn how to utilize and make the most out of every feature of its API.

                Progress from examples of adding, removing, and evicting data from a cache, to more complex scenarios such as clustering and distributing data more efficiently in the grid. Throughout the book, you will follow a simple example of an API using a ticket booking system, which will help you to learn how to set up robust and scalable Infinispan configurations. You will also see a complete demonstration of integrating the Infinispan data grid platform with JBoss AS 7.


                By following a simple ticket booking example, you will learn how to use each of Infinispan’s features in the real-world. Lots of practical examples and screenshots help you to get to grips with Infinispan quickly and easily.

                Who this book is for

                This book is for Enterprise developers and architects who want to use a distributed caching and data grid solution. You should have programming knowledge of Java and a general familiarity with concepts like data caching and clustering.

                Code Download and Errata
                Packt Anytime, Anywhere
                Register Books
                Print Upgrades
                eBook Downloads
                Video Support
                Contact Us
                Awards Voting Nominations Previous Winners
                Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software