Chapter 4. Using JBoss Data Grid with Supported Containers

Red Hat JBoss Data Grid can be used in the following runtimes:
  • Java SE, started by your application.
  • As a standalone JBoss Data Grid server.
  • Bundled as a library in your application, deployed to an application server, and started by your application. For example, JBoss Data Grid can be used with Tomcat or Weblogic.
  • Inside an OSGi runtime environment, in this case, Apache Karaf.
For a list of containers supported with Red Hat JBoss Data Grid, see the Release Notes or the support information here: https://access.redhat.com/knowledge/articles/115883

4.1. Deploy JBoss Data Grid in JBoss EAP (Library Mode)

Red Hat JBoss Data Grid provides a set of modules for Red Hat JBoss Enterprise Application Platform 6.x. Using these modules means that JBoss Data Grid libraries do not need to be included in the user deployment. To avoid conflicts with the Infinispan modules that are already included with JBoss EAP, the JBoss Data Grid modules are placed within a separate slot and identified by the JBoss Data Grid version (major.minor).

Note

The JBoss EAP modules are not included in JBoss EAP. Instead, navigate to the Customer Support Portal at http://access.redhat.com to download these modules from the Red Hat JBoss Data Grid downloads page.
To deploy JBoss Data grid in JBoss EAP, add dependencies from the JBoss Data Grid module to the application's classpath (the JBoss EAP deployer) in one of the following ways:
  • Add a dependency to the jboss-deployment-structure.xml file.
  • Add a dependency to the MANIFEST.MF file.
  • Generate the MANIFEST.MF file via Maven.
Add a Dependency to the jboss-deployment-structure.xml File

Add the following configuration to the jboss-deployment-structure.xml file:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <dependencies>
            <module name="org.infinispan" slot="jdg-6.3" services="export"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

Note

For details about the jboss-deployment-structure.xml file, see the Red Hat JBoss Enterprise Application Platform documentation.
Add a Dependency to the MANIFEST.MF File.

Add a dependency to the MANIFEST.MF files as follows:

Example 4.1. Example MANIFEST.MF File

Manifest-Version: 1.0
Dependencies: org.infinispan:jdg-6.3 services
The first line remains the same as the example. Depending on the dependency required, add one of the following to the second line of the file:
  • JBoss Data Grid Core:
    Dependencies: org.infinispan:jdg-6.3 services
  • Embedded Query:
    Dependencies: org.infinispan:jdg-6.3 services, org.infinispan.query:jdg-6.3 services
  • JDBC Cache Store:
    Dependencies: org.infinispan:jdg-6.3 services, org.infinispan.persistence.jdbc:jdg-6.3 services
  • JPA Cache Store:
    Dependencies: org.infinispan:jdg-6.3 services, org.infinispan.persistence.jpa:jdg-6.3 services
  • LevelDB Cache Store:
    Dependencies: org.infinispan:jdg-6.3 services, org.infinispan.persistence.leveldb:jdg-6.3 services
  • CDI:
    Dependencies: org.infinispan:jdg-6.3 services, org.infinispan.cdi:jdg-6.3 meta-inf
    
Generate the MANIFEST.MF file via Maven

The MANIFEST.MF file is generated during the build (specifically during the JAR or WAR process). As an alternative to adding a dependency to the MANIFEST.MF file, configure the dependency directly in Maven by adding the following to the pom.xml file:

<plugin>
	<artifactId>maven-war-plugin</artifactId>
	<version>2.4</version>
	<configuration>
		<failOnMissingWebXml>false</failOnMissingWebXml>
		<archive>
			<manifestEntries>
				<Dependencies>org.infinispan:jdg-6.3 services</Dependencies>
			</manifestEntries>
		</archive>
	</configuration>
</plugin>