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:
Add
infinispan-remote
dependency:<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-remote</artifactId> <version>${infinispan.version}</version> </dependency>
For instances where a
Remote Cache Store
is in use also add theinfinispan-embedded
dependency as shown below:<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded</artifactId> <version>${infinispan.version}</version> </dependency>
For instances where
JSR-107
is in use, ensure that thecache-api
packages are available at runtime. Having these packages available can be accomplished by any of the following methods: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.1" services="export"/> </dependencies> </deployment> </jboss-deployment-structure>
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.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>
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.
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>
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.