Chapter 6. Run Red Hat JBoss Data Grid with Maven

6.1. Defining Maven Dependencies for use with JBoss Data Grid (Remote Client-Server Mode)

Use the following instructions to run Red Hat JBoss Data Grid with Maven in Remote Client-Server mode.

Hot Rod Client with Querying

Add the following dependencies to the pom.xml file:

  1. Add infinispan-remote dependency:

    <dependency>
       <groupId>org.infinispan</groupId>
       <artifactId>infinispan-remote</artifactId>
       <version>${infinispan.version}</version>
    </dependency>
  2. For instances where a Remote Cache Store is in use also add the infinispan-embedded dependency as shown below:

    <dependency>
       <groupId>org.infinispan</groupId>
       <artifactId>infinispan-embedded</artifactId>
       <version>${infinispan.version}</version>
    </dependency>
  3. For instances where JSR-107 is in use, ensure that the cache-api packages are available at runtime. Having these packages available can be accomplished by any of the following methods:

    1. Option 1: If JBoss EAP is in use, then add the JBoss Data Grid modules to this instance as described in Section 4.3, “Deploy JBoss Data Grid in JBoss EAP (Remote Client-Server Mode)”.

      Add the javax.cache.api module to the application’s jboss-deployment-structure.xml. An example is shown below:

      <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
          <deployment>
              <dependencies>
                  <module name="javax.cache.api" slot="jdg-7.2" services="export"/>
              </dependencies>
          </deployment>
      </jboss-deployment-structure>
    2. Option 2: Download the jboss-datagrid-${jdg.version}-library file from the customer portal.

      Extract the downloaded archive.

      Embed the jboss-datagrid-${jdg.version}-library/lib/cache-api-${jcache.version}.jar file into the desired application.

    3. Option 3: If the JBoss Data Grid Maven repository is available then add an explicit dependency to the pom.xml of the project as seen below:

      <dependency>
          <groupId>javax.cache</groupId>
          <artifactId>cache-api</artifactId>
          <version>${jcache.version}</version>
      </dependency>
Warning

The Infinispan query API directly exposes the Hibernate Search and the Lucene APIs and cannot be embedded within the infinispan-embedded-query.jar file. Do not include other versions of Hibernate Search and Lucene in the same deployment as infinispan-embedded-query . This action will cause classpath conflicts and result in unexpected behavior.

6.2. Defining Maven Dependencies for use with JBoss Data Grid (Library Mode)

Use the provided instructions to run Red Hat JBoss Data Grid with Maven in Library mode.

Note

To simplify embedding Red Hat JBoss Data Grid directly in your application, the distribution of JBoss Data Grid contains fewer, consolidated jars. For the list of supported jar files, see the Packaging Revisions in the Release Notes.

Infinispan Embedded without Querying

Add the infinispan-embedded dependency to the pom.xml file:

<dependency>
   <groupId>org.infinispan</groupId>
   <artifactId>infinispan-embedded</artifactId>
   <version>${infinispan.version}</version>
</dependency>

Infinispan Embedded with Querying

Add the infinispan-embedded-query dependency to the pom.xml file:

<dependency>
   <groupId>org.infinispan</groupId>
   <artifactId>infinispan-embedded-query</artifactId>
   <version>${infinispan.version}</version>
</dependency>
Warning

The Infinispan query API directly exposes the Hibernate Search and the Lucene APIs and cannot be embedded within the infinispan-embedded-query.jar file. Do not include other versions of Hibernate Search and Lucene in the same deployment as infinispan-embedded-query . This action will cause classpath conflicts and result in unexpected behavior.