Chapter 6. Run Red Hat JBoss Data Grid JAR Files with Maven

6.1. Run JBoss Data Grid (Remote Client-Server Mode)

Use the following instructions to run Red Hat JBoss Data Grid JAR files 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.2, “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.0" 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.