Chapter 13. Data Grid Modules for Red Hat JBoss EAP

To use Data Grid inside applications deployed to Red Hat JBoss EAP, you should install Data Grid modules that:

  • Let you deploy applications without packaging Data Grid JAR files in your WAR or EAR file.
  • Allow you to use a Data Grid version that is independent to the one bundled with Red Hat JBoss EAP.
Important

Red Hat JBoss EAP (EAP) applications can directly handle the infinispan subsystem without the need to separately install Data Grid modules. Red Hat provides support for this functionality since EAP version 7.4. However, your deployment requires the EAP modules to use advanced capabilities such as indexing and querying.

13.1. Installing Data Grid Modules

Download and install Data Grid modules for Red Hat JBoss EAP.

Prerequisites

  1. JDK 8 or later.
  2. An existing Red Hat JBoss EAP installation.

Procedure

  1. Log in to the Red Hat customer portal.
  2. Download the ZIP archive for the modules from the Data Grid software downloads.
  3. Extract the ZIP archive and copy the contents of modules to the modules directory of your Red Hat JBoss EAP installation so that you get the resulting structure:

    $EAP_HOME/modules/system/add-ons/rhdg/org/infinispan/rhdg-8.3

13.2. Configuring Applications to Use Data Grid Modules

After you install Data Grid modules for Red Hat JBoss EAP, configure your application to use Data Grid functionality.

Procedure

  1. In your project pom.xml file, mark the required Data Grid dependencies as provided.
  2. Configure your artifact archiver to generate the appropriate MANIFEST.MF file.

pom.xml

<dependencies>
  <dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-core</artifactId>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-cachestore-jdbc</artifactId>
    <scope>provided</scope>
  </dependency>
</dependencies>
<build>
  <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <configuration>
         <archive>
           <manifestEntries>
             <Dependencies>org.infinispan:rhdg-8.3 services</Dependencies>
           </manifestEntries>
         </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

Data Grid functionality is packaged as a single module, org.infinispan, that you can add as an entry to your application’s manifest as follows:

MANIFEST.MF

Manifest-Version: 1.0
Dependencies: org.infinispan:rhdg-8.3 services

AWS dependencies

If you require AWS dependencies, such as S3_PING, add the following module to your application’s manifest:

Manifest-Version: 1.0
Dependencies: com.amazonaws.aws-java-sdk:rhdg-8.3 services