Getting Started Guide
For use with Red Hat JBoss Data Grid 6.1
Edition 2
Abstract
Preface
Part I. Introducing JBoss Data Grid Copy linkLink copied to clipboard!
Chapter 1. JBoss Data Grid Copy linkLink copied to clipboard!
1.1. About JBoss Data Grid Copy linkLink copied to clipboard!
- Schemaless key-value store – Red Hat JBoss Data Grid is a NoSQL database that provides the flexibility to store different objects without a fixed data model.
- Grid-based data storage – Red Hat JBoss Data Grid is designed to easily replicate data across multiple nodes.
- Elastic scaling – Adding and removing nodes is achieved simply and is non-disruptive.
- Multiple access protocols – It is easy to access the data grid using REST, Memcached, Hot Rod, or simple map-like API.
1.2. JBoss Data Grid Supported Configurations Copy linkLink copied to clipboard!
1.3. JBoss Data Grid Usage Modes Copy linkLink copied to clipboard!
1.3.1. JBoss Data Grid Usage Modes Copy linkLink copied to clipboard!
- Remote Client-Server mode
- Library mode
1.3.2. Remote Client-Server Mode Copy linkLink copied to clipboard!
- easier scaling of the data grid.
- easier upgrades of the data grid without impact on client applications.
1.3.3. Library Mode Copy linkLink copied to clipboard!
- transactions.
- listeners and notifications.
1.4. JBoss Data Grid Benefits Copy linkLink copied to clipboard!
Benefits of JBoss Data Grid
- Performance
- Accessing objects from local memory is faster than accessing objects from remote data stores (such as a database). JBoss Data Grid provides an efficient way to store in-memory objects coming from a slower data source, resulting in faster performance than a remote data store. JBoss Data Grid also offers optimization for both clustered and non clustered caches to further improve performance.
- Consistency
- Storing data in a cache carried the inherent risk: at the time it is accessed, the data may be outdated (stale). To address this risk, JBoss Data Grid uses mechanisms such as cache invalidation and expiration to remove stale data entries from the cache. Additionally, JBoss Data Grid supports JTA, distributed (XA) and two-phase commit transactions along with transaction recovery and a version API to remove or replace data according to saved versions.
- Massive Heap and High Availability
- In JBoss Data Grid, applications no longer need to delegate the majority of their data lookup processes to a large single server database for performance benefits. JBoss Data Grid employs techniques such as replication and distribution to completely remove the bottleneck that exists in the majority of current enterprise applications.
Example 1.1. Massive Heap and High Availability Example
In a sample grid with 16 blade servers, each node has 2 GB storage space dedicated for a replicated cache. In this case, all the data in the grid is copies of the 2 GB data. In contrast, using a distributed grid (assuming the requirement of one copy per data item, resulting in the capacity of the overall heap being divided by two) the resulting memory backed virtual heap contains 16 GB data. This data can now be effectively accessed from anywhere in the grid. In case of a server failure, the grid promptly creates new copies of the lost data and places them on operational servers in the grid. - Scalability
- A significant benefit of a distributed data grid over a replicated clustered cache is that a data grid is scalable in terms of both capacity and performance. Add a node to JBoss Data Grid to increase throughput and capacity for the entire grid. JBoss Data Grid uses a consistent hashing algorithm that limits the impact of adding or removing a node to a subset of the nodes instead of every node in the grid.Due to the even distribution of data in JBoss Data Grid, the only upper limit for the size of the grid is the group communication on the network. The network's group communication is minimal and restricted only to the discovery of new nodes. Nodes are permitted by all data access patterns to communicate directly via peer-to-peer connections, facilitating further improved scalability. JBoss Data Grid clusters can be scaled up or down in real time without requiring an infrastructure restart. The result of the real time application of changes in scaling policies results in an exceptionally flexible environment.
- Data Distribution
- JBoss Data Grid uses consistent hash algorithms to determine the locations for keys in clusters. Benefits associated with consistent hashing include:Data distribution ensures that sufficient copies exist within the cluster to provide durability and fault tolerance, while not an abundance of copies, which would reduce the environment's scalability.
- cost effectiveness.
- speed.
- deterministic location of keys with no requirements for further metadata or network traffic.
- Persistence
- JBoss Data Grid exposes a
CacheStoreinterface and several high-performance implementations, including the JDBC Cache stores and file system based cache stores. Cache stores can be used to populate the cache when it starts and to ensure that the relevant data remains safe from corruption. The cache store also overflows data to the disk when required if a process runs out of memory. - Language bindings
- JBoss Data Grid supports both the popular Memcached protocol, with existing clients for a large number of popular programming languages, as well as an optimized JBoss Data Grid specific protocol called Hot Rod. As a result, instead of being restricted to Java, JBoss Data Grid can be used for any major website or application. Additionally, remote caches can be accessed using the HTTP protocol via a RESTful API.
- Management
- In a grid environment of several hundred or more servers, management is an important feature. JBoss Operations Network, the enterprise network management software, is the best tool to manage multiple JBoss Data Grid instances. JBoss Operations Network's features allow easy and effective monitoring of the Cache Manager and cache instances.
- Remote Data Grids
- Rather than scale up the entire application server architecture to scale up your data grid, JBoss Data Grid provides a Remote Client-Server mode which allows the data grid infrastructure to be upgraded independently from the application server architecture. Additionally, the data grid server can be assigned different resources than the application server and also allow independent data grid upgrades and application redeployment within the data grid.
1.5. JBoss Data Grid Version Information Copy linkLink copied to clipboard!
1.6. JBoss Data Grid Cache Architecture Copy linkLink copied to clipboard!
Figure 1.1. JBoss Data Grid Cache Architecture
- Elements that a user cannot directly interact with (depicted within a dark box), which includes the Cache, Cache Manager, Level 1 Cache, Persistent Store Interfaces and the Persistent Store.
- Elements that a user can interact directly with (depicted within a white box), which includes Cache Interfaces and the Application.
JBoss Data Grid's cache architecture includes the following elements:
- The Persistent Store permanently stores cache instances and entries.
- JBoss Data Grid offers two Persistent Store Interfaces to access the persistent store. Persistent store interfaces can be either:
- A cache loader is a read only interface that provides a connection to a persistent data store. A cache loader can locate and retrieve data from cache instances and from the persistent store.
- A cache store extends the cache loader functionality to include write capabilities by exposing methods that allow the cache loader to load and store states.
- The Level 1 Cache (or L1 Cache) stores remote cache entries after they are initially accessed, preventing unnecessary remote fetch operations for each subsequent use of the same entries.
- The Cache Manager is the primary mechanism used to retrieve a Cache instance in JBoss Data Grid, and can be used as a starting point for using the Cache.
- The Cache stores cache instances retrieved by a Cache Manager.
- Cache Interfaces use protocols such as Memcached and Hot Rod, or REST to interface with the cache. For details about the remote interfaces, refer to the Developer Guide.
- Memcached is a distributed memory object caching system used to store key-values in-memory. The Memcached caching system defines a text based, client-server caching protocol called the Memcached protocol.
- Hot Rod is a binary TCP client-server protocol used in JBoss Data Grid. It was created to overcome deficiencies in other client/server protocols, such as Memcached. Hot Rod enables clients to do smart routing of requests in partitioned or distributed JBoss Data Grid server clusters.
- The REST protocol eliminates the need for tightly coupled client libraries and bindings. The REST API introduces an overhead, and requires a REST client or custom code to understand and create REST calls.
- An application allows the user to interact with the cache via a cache interface. Browsers are a common example of such end-user applications.
1.7. JBoss Data Grid APIs Copy linkLink copied to clipboard!
- Cache
- Batching
- Grouping
- CacheStore and ConfigurationBuilder
- Externalizable
- Notification (also known as the Listener API because it deals with Notifications and Listeners)
- The Asynchronous API (can only be used in conjunction with the Hot Rod Client in Remote Client-Server Mode)
- The REST Interface
- The Memcached Interface
- The Hot Rod Interface
- The RemoteCache API
Part II. Download and Install JBoss Data Grid Copy linkLink copied to clipboard!
Chapter 2. Prerequisites for JBoss Data Grid Copy linkLink copied to clipboard!
2.1. JBoss Data Grid Prerequisites Copy linkLink copied to clipboard!
2.2. Java Virtual Machine Copy linkLink copied to clipboard!
2.3. Install OpenJDK on Red Hat Enterprise Linux Copy linkLink copied to clipboard!
Procedure 2.1. Install OpenJDK on Red Hat Enterprise Linux
Subscribe to the Base Channel
Obtain the OpenJDK from the RHN base channel. Your installation of Red Hat Enterprise Linux is subscribed to this channel by default.Install the Package
Use the yum utility to install OpenJDK:sudo yum install java-1.6.0-openjdk-devel
$ sudo yum install java-1.6.0-openjdk-develCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that OpenJDK is the System Default
Ensure that the correct JDK is set as the system default as follows:- Log in as root and run the alternatives command:
/usr/sbin/alternatives --config java
$ /usr/sbin/alternatives --config javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Depending on the OpenJDK version, select
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java. - Use the following command to set
javac:/usr/sbin/alternatives --config javac
$ /usr/sbin/alternatives --config javacCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Depending on the OpenJDK version used, select
/usr/lib/jvm/java-1.6.0-openjdk/bin/javaor/usr/lib/jvm/java-1.7.0-openjdk/bin/java.
Chapter 3. Download and Install JBoss Data Grid Copy linkLink copied to clipboard!
3.1. Download JBoss Data Grid Copy linkLink copied to clipboard!
Procedure 3.1. Download JBoss Data Grid
Access the Customer Service Portal
Log into the Customer Service Portal at https://access.redhat.com.Locate the Product
Mouse over and navigate to .Select the Product
Select .Download JBoss Data Grid
Select the appropriate JBoss Data Grid download and click the link.Select for JBoss Data Grid with the Remote Client-Server usage mode or for JBoss Data Grid with the Library usage mode.
3.2. About the Red Hat Customer Portal Copy linkLink copied to clipboard!
- Manage and maintain Red Hat entitlements and support contracts;
- Download officially-supported software;
- Access product documentation and the Red Hat Knowledgebase;
- Contact Global Support Services; and
- File bugs against Red Hat products.
3.3. Checksum Validation Copy linkLink copied to clipboard!
3.4. Verify the Downloaded File Copy linkLink copied to clipboard!
Procedure 3.2. Verify the Downloaded File
- To verify that a file downloaded from the Red Hat Customer Portal is error-free, whilst still on the portal site, go to that package's Software Details page. Here you will find
MD5andSHA256"checksum" values that you will use to check the integrity of the file. - Open a terminal window and run either either the
md5sumorsha256sumcommand, supplying the filename of the downloadedZIPas an argument. The program will output the checksum value for the file. - Compare the checksum value returned by the command to the corresponding value displayed on the Software Details page for the file.
Note
Microsoft Windows does not come equipped with a checksum tool. Users of that operating system will have to download a third-party product instead.
If the two checksum values are identical then the file has not been altered or corrupted and is, therefore, safe to use.
3.5. Install JBoss Data Grid Copy linkLink copied to clipboard!
Locate the appropriate version, platform and file type and download JBoss Data Grid from the Customer Service Portal.
Procedure 3.3. Install JBoss Data Grid
- Copy the downloaded JBoss Data Grid package to the preferred location on your machine.
- Run the following command to unzip the downloaded JBoss Data Grid package:
unzip JDG_PACKAGE
$ unzip JDG_PACKAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow Replace JDG_PACKAGE with the name of the JBoss Data Grid usage mode package downloaded from the Red Hat Customer Portal. - The resulting unzipped directory will now be referred to as $JDG_HOME.
3.6. Red Hat Documentation Site Copy linkLink copied to clipboard!
Chapter 4. Install and Use the Maven Repositories Copy linkLink copied to clipboard!
4.1. About Maven Copy linkLink copied to clipboard!
Important
4.2. Required Maven Repositories Copy linkLink copied to clipboard!
- The JBoss Data Grid Maven Repository
- The JBoss Enterprise Application Platform Maven Repository
4.3. Install the Maven Repositories Copy linkLink copied to clipboard!
4.3.1. Maven Repository Installation Options Copy linkLink copied to clipboard!
- On your local file system.
- On Apache Web Server.
- With a Maven repository manager.
4.3.2. Local File System Repository Installation Copy linkLink copied to clipboard!
Procedure 4.1. Local File System Repository Installation (JBoss Data Grid)
Log Into the Customer Service Portal
In a browser window, navigate to the Customer Service Portal and log in.Download the JBoss Data Grid Repository File
Download thejboss-datagrid-maven-repository-{VERSION}.zipfile from the Red Hat Customer Portal.- Unzip the file to a directory on your local file system such as
$JDG_HOME/projects/maven-repositories/
Procedure 4.2. Local File System Repository Installation (JBoss Enterprise Application Platform)
Log Into the Customer Service Portal
In a browser window, navigate to the software page for JBoss Enterprise Application Platform.Locate the Correct Entry
Find "Application Platform 6 Maven Repository" in the list.Download the Repository
Click the button to download a zip file containing the repository.Unzip the Repository File
Unzip the file in the same directory on the local file system into$JDG_HOME/projects/maven-repositories/.
4.3.3. Apache Web Server Installation Copy linkLink copied to clipboard!
Procedure 4.3. Apache Web Server Installation (JBoss Data Grid)
Log Into the Customer Service Portal
In a browser window, navigate to https://access.redhat.com/home (Red Hat Customer Service Portal) and log in.Download the JBoss Data Grid Repository File
Download the following file from the Red Hat Customer Portal:jboss-datagrid-maven-repository-{VERSION}.zipjboss-datagrid-maven-repository-{VERSION}.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow Unzip the Repository Files
Unzip the file to a directory on your local file system such as$JDG_HOME/projects/maven-repositories/- Configure Apache to allow read access and directory browsing in the configured directory.
Procedure 4.4. Apache Web Server Installation (JBoss Enterprise Application Platform)
Log Into the Customer Service Portal
In a browser window, navigate to the JBoss Enterprise Application Platform software page at https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=appplatformLocate the Correct Entry
Find "Application Platform 6 Maven Repository" in the list.Download the Repository
Click the button to download a zip file containing the repository.Unzip the Repository File
Unzip the file in the same directory on the local file system into$JDG_HOME/projects/maven-repositories/.Configure Apache
Configure Apache to allow read access and directory browsing in the relevant directory.
4.3.4. Maven Repository Manager Installation Copy linkLink copied to clipboard!
- Apache Archiva: http://archiva.apache.org/
- JFrog Artifactory: http://www.jfrog.com/products.php
- Sonatype Nexus: http://nexus.sonatype.org/ For details, refer to Section B.1, “Install the JBoss Enterprise Application Platform Repository Using Nexus”
4.4. Configure the Maven Repositories Copy linkLink copied to clipboard!
4.4.1. Configure the Maven Repository Copy linkLink copied to clipboard!
settings.xml file. The default version of this file is available in the conf directory of your Maven installation.
.m2 sub-directory of the user's home directory. Refer to http://maven.apache.org/settings.html (the Maven documentation) for more information about configuring Maven.
4.4.2. Set the Maven Repository Links Copy linkLink copied to clipboard!
| Installation Type | Link |
|---|---|
| File system installation | file://$JDG_HOME/projects/maven-repositories/jboss-datagrid-maven-repository-{VERSION} |
| Apache Web Server installation | http://intranet.acme.com/jboss-datagrid-maven-repository-{VERSION} |
| Nexus Repository Manager | https://intranet.acme.com/nexus/content/repositories/jboss-datagrid-maven-repository-{VERSION} |
4.4.3. Next Steps Copy linkLink copied to clipboard!
Part III. Run JBoss Data Grid in Remote Client-Server Mode Copy linkLink copied to clipboard!
Chapter 5. Run JBoss Data Grid in Remote Client-Server Mode Copy linkLink copied to clipboard!
5.1. Prerequisites Copy linkLink copied to clipboard!
- Ensure an appropriate version of OpenJDK is installed. For more information, refer to Section 2.3, “Install OpenJDK on Red Hat Enterprise Linux”
- Download and install the latest version of JBoss Data Grid. For more information, refer to Section 3.1, “Download JBoss Data Grid”
5.2. Run JBoss Data Grid in Standalone Mode Copy linkLink copied to clipboard!
$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.sh
$JDG_HOME/standalone/configuration/standalone.xml file.
5.3. Run JBoss Data Grid in Clustered Mode Copy linkLink copied to clipboard!
$JDG_HOME/bin/clustered.sh
$JDG_HOME/bin/clustered.sh
$JDG_HOME/standalone/configuration/clustered.xml file.
5.4. Run JBoss Data Grid with a Custom Configuration Copy linkLink copied to clipboard!
$JDG_HOME/standalone/configuration directory.
$JDG_HOME/bin/standalone.sh -c ${FILENAME}
$JDG_HOME/bin/standalone.sh -c ${FILENAME}
$JDG_HOME/bin/clustered.sh -c ${FILENAME}
$JDG_HOME/bin/clustered.sh -c ${FILENAME}
-c used for this script does not allow absolute paths, therefore the specified file must be available in the $JDG_HOME/standalone/configuration directory.
-c parameter, JBoss Data Grid uses the default configuration.
5.5. Set an IP Address to Run JBoss Data Grid Copy linkLink copied to clipboard!
127.0.0.1/localhost. Use the -b parameter with the script to specify an IP address.
$JDG_HOME/bin/standalone.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/standalone.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/clustered.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/clustered.sh -b ${IP_ADDRESS}
Part IV. Run JBoss Data Grid in Library Mode Copy linkLink copied to clipboard!
Chapter 6. Create a New JBoss Data Grid Project Copy linkLink copied to clipboard!
6.1. Add Dependencies to Your Project Copy linkLink copied to clipboard!
pom.xml file, located in the Maven repository folder:
Note
version value with the appropriate version of the libraries included in JBoss Data Grid.
6.2. Add a Profile to Your Project Copy linkLink copied to clipboard!
pom.xml file as follows:
client/java/ directory, included in the JBoss Data Grid package to the build classpath.
6.3. Running JBoss Data Grid Copy linkLink copied to clipboard!
- Use the following command to run JBoss Data Grid using the configuration defined in the
standalone.xmlfile (located at$JDG_HOME/standalone/configuration):$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Use the following command with an appended
-cfollowed by the configuration file name to run JBoss Data Grid with a non-default configuration file:$JDG_HOME/bin/standalone.sh -c clustered.xml
$JDG_HOME/bin/standalone.sh -c clustered.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Use the following command to run JBoss Data Grid with a clustered configuration:
$JDG_HOME/bin/clustered.sh
$JDG_HOME/bin/clustered.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapter 7. Run JBoss Data Grid as an Embedded Cache (Library Mode) Copy linkLink copied to clipboard!
7.1. Quickstart File Locations Copy linkLink copied to clipboard!
- The Infinispan Github Repository: https://github.com/infinispan/infinispan-quickstart
Important
7.2. Create a Main Method in the Quickstart Class Copy linkLink copied to clipboard!
Procedure 7.1. Create a Main Method in the Quickstart Class
Create the Quickstart.java File
Create a file calledQuickstart.javaat your project's location.Add the Quickstart Class
Add the following class and method:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy Dependencies and Compile Java Classes
Use the following command to copy all project dependencies to a directory and compile the java classes from our project:mvn clean compile dependency:copy-dependencies -DstripVersion
$ mvn clean compile dependency:copy-dependencies -DstripVersionCopy to Clipboard Copied! Toggle word wrap Toggle overflow Run the Main Method
Use the following command to run the main method:java -cp target/classes/:target/dependency/* com.mycompany.app.Quickstart
$ java -cp target/classes/:target/dependency/* com.mycompany.app.QuickstartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. Create a New RemoteCacheManager Copy linkLink copied to clipboard!
RemoteCacheManager:
Properties props = new Properties();
props.put("infinispan.client.hotrod.server_list", "127.0.0.1:11222");
RemoteCacheManager manager = new RemoteCacheManager(props);
RemoteCache defaultCache = manager.getCache();
Properties props = new Properties();
props.put("infinispan.client.hotrod.server_list", "127.0.0.1:11222");
RemoteCacheManager manager = new RemoteCacheManager(props);
RemoteCache defaultCache = manager.getCache();
Note
Hot Rod with JBoss Data Grid, refer to the Developer Guide's Hot Rod Chapter.
7.4. Use the Default Cache Copy linkLink copied to clipboard!
7.4.1. Add and Remove Data from the Cache Copy linkLink copied to clipboard!
Procedure 7.2. Add and Remove Data from the Cache
- Add an entry, replacing key and value with the desired key and value:
cache.put("key", "value");cache.put("key", "value");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Confirm that the entry is present in the cache:
assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Remove the entry from the cache:
Object v = cache.remove("key");Object v = cache.remove("key");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Confirm that the entry is no longer present in the cache:
assertEquals("value", v); assertTrue(cache.isEmpty());assertEquals("value", v); assertTrue(cache.isEmpty());Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4.2. Adding and Replacing a Key Value Copy linkLink copied to clipboard!
DefaultCacheQuickstart.java file does:
Procedure 7.3. Adding and Replacing a Key Value
- Add an entry with
keyas the key value.cache.put("key", "value");cache.put("key", "value");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Check if the key value is missing. If the value is not found, replace the absent value with
key. If the value is found, no change occurs.cache.putIfAbsent("key", "newValue");cache.putIfAbsent("key", "newValue");Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4.3. Adjust Data Life Copy linkLink copied to clipboard!
DefaultCacheQuickstart.java file does:
Procedure 7.4. Adjust the Data Life
- Alter the key's
lifespanvalue:cache.put("key", "value", 5, SECONDS);cache.put("key", "value", 5, SECONDS);Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Check if the cache contains the key:
assertTrue(cache.containsKey("key"));assertTrue(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow - After the allocated
lifespantime has expired, the key is no longer in the cache:Thread.sleep(10000); assertFalse(cache.containsKey("key"));Thread.sleep(10000); assertFalse(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4.4. Default Data Mortality Copy linkLink copied to clipboard!
7.5. Use a Named Cache Copy linkLink copied to clipboard!
7.5.1. Using a Named Cache Copy linkLink copied to clipboard!
7.5.2. Register the Named Cache Programmatically Copy linkLink copied to clipboard!
CustomCacheQuickstart.java file included in the Quickstart package can be referred to as an example of this. The infinispan-quickstart can be found in infinispan-quickstart/embedded-cache/src/main/java/org/infinispan/quickstart/embeddedcache/.
7.5.3. Load the Configuration File Copy linkLink copied to clipboard!
Register the named cache declaratively.
XmlConfiguredCacheQuickstart.java file in the infinispan-quickstarts demonstrates how the custom configuration of the named cache is loaded. This file is located in infinispan-quickstart/embedded-cache/src/main/java/org/infinispan/quickstart/embeddedcache in the Quickstarts package.
7.5.4. Register the Named Cache Using XML Copy linkLink copied to clipboard!
infinispan.xml file.
infinispan.xml file is located in infinispan-quickstart/embedded-cache/src/main/resources in the infinispan-quickstarts package.
Chapter 8. Run JBoss Data Grid in Library Mode Copy linkLink copied to clipboard!
8.1. Quickstart File Locations Copy linkLink copied to clipboard!
- The Infinispan Github Repository: https://github.com/infinispan/infinispan-quickstart
Important
8.2. Run JBoss Data Grid as an Embedded Data Grid (Library Mode) Copy linkLink copied to clipboard!
8.3. Sharing JGroup Channels Copy linkLink copied to clipboard!
EmbeddedCacheManager cm = $LOCATION
Cache<Object, Object> cache1 = cm.getCache("replSyncCache");
Cache<Object, Object> cache2 = cm.getCache("replAsyncCache");
Cache<Object, Object> cache3 = cm.getCache("invalidationSyncCache");
EmbeddedCacheManager cm = $LOCATION
Cache<Object, Object> cache1 = cm.getCache("replSyncCache");
Cache<Object, Object> cache2 = cm.getCache("replAsyncCache");
Cache<Object, Object> cache3 = cm.getCache("invalidationSyncCache");
8.4. Run JBoss Data Grid in a Cluster Copy linkLink copied to clipboard!
8.4.1. Compile the Project Copy linkLink copied to clipboard!
mvn clean compile dependency:copy-dependencies -DstripVersion
$ mvn clean compile dependency:copy-dependencies -DstripVersion
8.4.2. Run the Clustered Cache with Replication Mode Copy linkLink copied to clipboard!
Procedure 8.1. Run the Clustered Cache with Replication Mode
- Use the following command to launch the first node:
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Use the following command to launch the second node:
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
JGroups and JBoss Data Grid initialized on both nodes. After approximately fifteen seconds, the cache entry log message appears on the console of the first node.
8.4.3. Run the Clustered Cache with Distribution Mode Copy linkLink copied to clipboard!
Procedure 8.2. Run the Clustered Cache with Distribution Mode
- Use the following command to launch the first node:
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Use the following command to launch the second node:
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Use the following command to launch the third node:
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
JGroups and JBoss Data Grid initialized on the three nodes. After approximately fifteen seconds, the ten entries added by the third node can be seen as they are distributed to the first and second nodes.
8.4.4. Configure the Cluster Copy linkLink copied to clipboard!
8.4.4.1. Configuring the Cluster Copy linkLink copied to clipboard!
Procedure 8.3. Configure the Cluster
- Add the default configuration for a new cluster
- Customize the default cluster configuration according to the requirements of your network. This can be done declaratively (using XML) or programmatically.
- Configure the replicated or distributed data grid.
8.4.4.2. Add the Default Cluster Configuration Copy linkLink copied to clipboard!
new ConfigurationBuilder() .clustering().cacheMode(CacheMode.REPL_SYNC) .build()
new ConfigurationBuilder()
.clustering().cacheMode(CacheMode.REPL_SYNC)
.build()
Note
GlobalConfiguration.clusteredDefault() to quickly create a preconfigured and cluster-aware GlobalConfiguration for clusters. This configuration can also be customized.
8.4.4.3. Customize the Default Cluster Configuration Copy linkLink copied to clipboard!
Use the following GlobalConfiguration code to specify the name of the file to use for JGroups configuration:
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
.build()
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
.build()
jgroups.xml with the desired file name.
jgroups.xml file is located at $Infinispan-Quickstart/clustered-cache/src/main/resources/.
Note
-Djgroups.bind_addr="127.0.0.1". This is particularly useful to test a cluster where all nodes are on a single machine.
Use the following XML snippet in the infinispan.xml file to configure the JGroups properties to use JBoss Data Grid's XML configuration:
8.4.4.4. Configure the Replicated Data Grid Copy linkLink copied to clipboard!
Use the following code snippet to programmatically configure the cache for replication mode (either synchronous or asynchronous):
Edit the cfg.xml file to include the following XML code to declaratively configure the cache for replication mode (either synchronous or asynchronous):
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
return new DefaultCacheManager("infinispan-replication.xml");
}
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
return new DefaultCacheManager("infinispan-replication.xml");
}
8.4.4.5. Configure the Distributed Data Grid Copy linkLink copied to clipboard!
Use the following code snippet to programmatically configure the cache for distributed mode (either synchronous or asynchronous):
Edit the cfg.xml file to include the following XML code to declaratively configure the cache for distributed mode (either synchronous or asynchronous):
Chapter 9. Run a JBoss Data Grid as a Node without Endpoints Copy linkLink copied to clipboard!
9.1. About Endpoints Copy linkLink copied to clipboard!
9.2. Benefits of a Node Without Endpoints Copy linkLink copied to clipboard!
9.3. Sample Configuration for a Node without Endpoints Copy linkLink copied to clipboard!
Procedure 9.1. Find the JBoss Data Grid Sample Configuration for a Node Without Endpoints
Extract the JBoss Data Grid ZIP
1. Extract the ZIP file for JBoss Data Grid Remote Client-Server mode. This is namedjboss-datagrid-server-${version}-GA. Add the relevant version to the file name.Navigate to the Appropriate Folder
In the extracted folder, navigate to the$JDG_HOME/docs/examples/configfolder.Find the Configuration Sample File
View thestandalone-storage-only.xmlfile, which contains the configuration for a node with no endpoints.
9.4. Configure a Node with No Endpoints Copy linkLink copied to clipboard!
- Remove the
datagridsubsystem. - Remove the
modclustersubsystem. - Remove the
datasourcedefinition. - Remove
socket-bindingsformod_cluster,Hot Rodandmemcached.
Chapter 10. Monitor JBoss Data Grid Applications in JBoss Enterprise Application Platform Copy linkLink copied to clipboard!
10.1. About JBoss Data Grid Applications for JBoss Enterprise Application Platform Copy linkLink copied to clipboard!
10.2. Prerequisites Copy linkLink copied to clipboard!
- Install and configure JBoss Enterprise Application Platform 6 (or better).
- Install and configure JBoss Operations Network 3.1 (or better) or RHQ (4.5.1 or better) from http://www.jboss.org/rhq.
- Install and configure JBoss Data Grid (6.1 Beta or better) Library mode plug-in.
10.3. Monitor JBoss Data Grid Applications in JBoss Enterprise Application Platform Copy linkLink copied to clipboard!
Procedure 10.1. Monitor JBoss Data Grid Applications in JBoss Enterprise Application Platform
Configure RHQ/JBoss Operations Network
Add an RHQ/JBoss Operations Network specific property (namedorg.rhq.resourceKey) to the/bin/standalone.conffile as follows:JAVA_OPTS="$JAVA_OPTS -Dorg.rhq.resourceKey=MyEAP"
JAVA_OPTS="$JAVA_OPTS -Dorg.rhq.resourceKey=MyEAP"Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command adds the property to the JBoss Enterprise Application Platform's command line indirectly.Check RHQ/JBoss Operations Network is Running Using a Full JDK
Ensure that the RHQ/JBoss Operations Network agent started using a full JDK instead of a JRE. This is because the agent requires access to the JDK'stools.jarfile.To configure your RHQ/JBoss Operations Network agent to use the JDK, follow the instructions relevant to your operating system:- For Linux users, set the
RHQ_AGENT_JAVA_HOMEenvironment variable to the JDK home directory in the agent'srhq-agent-env.shfile. - For Windows users, set the
RHQ_AGENT_JAVA_HOMEenvironment variable to the JDK home directory in the agent'srhq-agent-env.batfile.
Ensure the Agent is Local to the JBoss Enterprise Application Platform Instance
Ensure that the RHQ/JBoss Operations Network agent runs locally to and under the same user as the JBoss Application Platform instance. This is required for the Java Attach API to connect to the process.Import Resources to the Agent Inventory
RHQ/JBoss Operations Network can now discover resources. These resources can subsequently be imported into the agent inventory.When a JBoss Data Grid user deployment enables JMX statistics to expose JBoss Data Grid Cache Managers or caches, the resources appear as children resources of the JBoss Enterprise Application Platform instance.
Part V. JBoss Data Grid Quickstarts Copy linkLink copied to clipboard!
Chapter 11. The Hello World Quickstart Copy linkLink copied to clipboard!
11.1. About the Hello World Quickstart Copy linkLink copied to clipboard!
- from a servlet.
- from a JSF page using request scoped beans.
Important
11.2. Quickstart Prerequisites Copy linkLink copied to clipboard!
- Java 6.0 (Java SDK 1.6) or better.
- JBoss Enterprise Application Platform 6.x or JBoss Application Server 7.x.
- Maven 3.0 or better.
- Configure the Maven Repository. For details, refer to Chapter 4, Install and Use the Maven Repositories
11.3. Start Two Application Server Instances Copy linkLink copied to clipboard!
Procedure 11.1. Start the First Application Server Instance
Navigate to the Root Directory
In the command line terminal, navigate to the root for your JBoss server directory.Start the First Application Server
Depending on your operating system, use the appropriate command from the following to start the first instance of your selected application server:- For Linux:
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - For Windows:
$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure 11.2. Start the Second Application Server Instance
Clone the Application Server
Create a copy of the selected JBoss Server to create a second instance.Navigate to the Root Directory
In the command line terminal, navigate to the root for your JBoss server directory.Start the Second Application Server
Use the appropriate command for your operating system from the following commands. This command starts the server with the provided port offset to ensure that both the server instances run on the same host.- For Linux:
$JBOSS_HOME2/bin/standalone.sh -Djboss.socket.binding.port-offset=100
$JBOSS_HOME2/bin/standalone.sh -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow - For Windows:
$JBOSS_HOME2\bin\standalone.bat -Djboss.socket.binding.port-offset=100
$JBOSS_HOME2\bin\standalone.bat -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.4. Build and Deploy the Hello World Quickstart Copy linkLink copied to clipboard!
Important
Procedure 11.3. Build and Deploy the Hello World Quickstart
Navigate to the Required Directory
In the command line terminal, navigate to the root directory of the quickstart on the command line interface.Build and Deploy to the First Application Server Instance
Use the following command to build and deploy the quickstart to the first application server instance as follows:mvn clean package jboss-as:deploy
# mvn clean package jboss-as:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow This command deploystarget/jboss-as-helloworld-jdg.warto the first running server instance.Build and Deploy to the Second Application Server Instance
Use the following command to build and deploy the quickstart to the second application server instance with the specified ports as follows:mvn clean package jboss-as:deploy -Djboss-as.port=10099
# mvn clean package jboss-as:deploy -Djboss-as.port=10099Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command deploystarget/jboss-as-helloworld-jdg.warto the second running server instance.
11.5. Access the Running Application Copy linkLink copied to clipboard!
- First Server Instance: http://localhost:8080/jboss-as-helloworld-jdg
- Second Server Instance: http://localhost:8180/jboss-as-helloworld-jdg
11.6. Test Replication on the Application Copy linkLink copied to clipboard!
Procedure 11.4. Test Replication on the Application
Access the First Server
Access the first application server and enter the key and value.- Access the first application server in a browser window using the following URL:
http://localhost:8080/jboss-as-helloworld-jdg
http://localhost:8080/jboss-as-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Insert the key
foo. - Insert the value
bar.
Access the Second Server
Access the second application server and enter the key and value.- Access the second application server in a browser window using the following URL:
http://localhost:8180/jboss-as-helloworld-jdg
http://localhost:8180/jboss-as-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Click .
- Get the key
foo. - Click .
- Insert the key
mykey. - Insert the value
myvalue.
Get All Keys and Values
Access the first server and request all keys.- Access the first application server in a browser window using the following URL:
http://localhost:8080/jboss-as-helloworld-jdg
http://localhost:8080/jboss-as-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Click .
- Click to request all key and values.
As the results of the last step show, all the data added at each server has been replicated to the other server.
Note
60 seconds from the most recent update.
To interact with predefined servlets or to directly store and retrieve keys from the cache, use the following URLs:
http://localhost:8080/jboss-as-helloworld-jdg/TestServletPut
http://localhost:8080/jboss-as-helloworld-jdg/TestServletPut
http://localhost:8180/jboss-as-helloworld-jdg/TestServletGet
http://localhost:8180/jboss-as-helloworld-jdg/TestServletGet
11.7. Remove the Application Copy linkLink copied to clipboard!
Procedure 11.5. Remove the Application
Start the Application Servers
Ensure that both server instances are running.Navigate to the Root
In the command line terminal, navigate to the root directory of the quickstartRemove the Archive
Use the following commands to remove the archive from both the server instances.- Remove the archive from the first server as follows:
mvn jboss-as:undeploy
mvn jboss-as:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Remove the archive from the second server as follows:
mvn jboss-as:undeploy -Ddeploy.port=10099
mvn jboss-as:undeploy -Ddeploy.port=10099Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.8. Debug the Application Copy linkLink copied to clipboard!
mvn dependency:source
# mvn dependency:source
mvn dependency:resolve -Dclassifier=javadoc
# mvn dependency:resolve -Dclassifier=javadoc
Important
Chapter 12. The CarMart Quickstarts Copy linkLink copied to clipboard!
12.1. About the CarMart Quickstart Copy linkLink copied to clipboard!
The CarMart quickstart offers the following features:
- List all cars.
- Add new cars.
- Remove cars.
- View statistics for caches, such as hits, stores and retrievals.
The CarMart quickstart can be used in the following JBoss Data Grid usage modes:
- Remote Client-Server Mode, where the application includes the Hot Rod client to communicate with a remote JBoss Data Grid server.
- Library Mode, where all libraries are bundled with the application in the form of
jarfiles.
JBoss Data Grid's CarMart quickstart is available at the following location: jboss-datagrid-quickstarts-6.1/
Important
12.2. About the CarMart Transactional Quickstart Copy linkLink copied to clipboard!
The Transactional CarMart Quickstart offers the following features:
- List all cars.
- Add new cars.
- Add new cars with rollback.
- Remove cars.
- View statistics for caches, such as hits, stores and retrievals.
The Transactional CarMart Quickstart can only be used in JBoss Data Grid's Library mode. A standalone transaction manager from JBoss Transactions is used when the Transactional CarMart Quickstart is run in Tomcat.
JBoss Data Grid's Transactional CarMart Quickstart can be found at the following location: jboss-datagrid-quickstarts-6.1/carmart-tx
Important
12.3. Differences Between the CarMart and Transactional Quickstarts Copy linkLink copied to clipboard!
- CarMart is available for both Remote Client-Server Mode and Library Mode. Transactional CarMart is only available in Library Mode because transactions are not available in Remote Client-Server Mode.
- The Transactional Quickstart also displays how a transaction rollback occurs. Use the button to view the rollback. The CarMart example has a simple button instead.
12.4. Quickstart Prerequisites Copy linkLink copied to clipboard!
- Java 6.0 (Java SDK 1.6) or better.
- JBoss Enterprise Application Platform 6.x or JBoss Application Server 7.x.
- Maven 3.0 or better.
- Configure the Maven Repository. For details, refer to Chapter 4, Install and Use the Maven Repositories
12.5. The CarMart Quickstart Using a JBoss Server Copy linkLink copied to clipboard!
12.5.1. Build and Deploy the CarMart Quickstart to the JBoss Server Copy linkLink copied to clipboard!
Note
Prerequisites for this procedure are as follows:
- Obtain the supported JBoss Data Grid Library Mode distribution files.
- Ensure that the JBoss Data Grid and JBoss Enterprise Application Platform Maven repositories are installed and configured. For details, refer to Chapter 4, Install and Use the Maven Repositories
- Select a JBoss server to use (JBoss Enterprise Application Platform 6 (or better) or JBoss Application Server 7 (or better).
Procedure 12.1. Build and Deploy CarMart to the JBoss Server
Start the JBoss Server
Navigate to the root of the JBoss server directory in a terminal window and enter the following command:For Linux users:$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow For Windows users:$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow Build and Deploy the Application
Use the following command to build and deploy the application using Maven:mvn clean package jboss-as:deploy
$ mvn clean package jboss-as:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
The target war file (target/jboss-as-carmart.war) is deployed to the running instance of the selected JBoss server.
12.5.2. View the CarMart Quickstart on the JBoss Application Server Copy linkLink copied to clipboard!
The CarMart quickstart must be built and deployed to be viewed.
Procedure 12.2. View the CarMart Quickstart on the JBoss Application Server
- To view the application, use your browser to navigate to the links provided.When using the non transactional Carmart Quickstart, use the following link:
http://localhost:8080/jboss-as-carmart
http://localhost:8080/jboss-as-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow When using the trasnactional Carmart Quickstart, use the following link:http://localhost:8080/jboss-as-carmart-tx
http://localhost:8080/jboss-as-carmart-txCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.5.3. Remove the CarMart Quickstart from the JBoss Server Copy linkLink copied to clipboard!
Procedure 12.3. Remove an Application from the JBoss Server
- To remove an application, use the following command:
mvn jboss-as:undeploy
$ mvn jboss-as:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6. The CarMart Quickstart to a Server Copy linkLink copied to clipboard!
12.6.1. Build and Deploy the CarMart Quickstart to the Server Copy linkLink copied to clipboard!
Prerequisites for this procedure are as follows:
- Obtain the supported JBoss Data Grid Library Mode distribution files.
- Ensure that the JBoss Data Grid and JBoss Enterprise Application Platform Maven repositories are installed and configured. For details, refer to Chapter 4, Install and Use the Maven Repositories
- Select either JBoss Enterprise Web Server 2 (or better) or Tomcat 7 (or better) for your application and install it.
Procedure 12.4. Build the CarMart Quickstart to the Server (Library Mode)
Start the Server
Run the selected server by navigating to the root directory in a terminal window and enter the following command:For Linux users:$TOMCAT7_HOME/bin/catalina.sh run
$TOMCAT7_HOME/bin/catalina.sh runCopy to Clipboard Copied! Toggle word wrap Toggle overflow For Windows users:$TOMCAT7_HOME\bin\catalina.bat run
$TOMCAT7_HOME\bin\catalina.bat runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Build and Deploy your Application
Use the following command to build and deploy your application using Maven:mvn -Plibrary-tomcat clean package tomcat:deploy
$ mvn -Plibrary-tomcat clean package tomcat:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
The target war file (target/jboss-as-carmart.war) is deployed to the running instance of the selected server.
12.6.2. View the CarMart Quickstart on the Server Copy linkLink copied to clipboard!
The CarMart quickstart must be built and deployed to be viewed.
Procedure 12.5. View the CarMart Quickstart
- To view the application, use your browser to navigate to the following link:
http://localhost:8080/jboss-as-carmart
http://localhost:8080/jboss-as-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.3. Remove the CarMart Quickstart from the Server Copy linkLink copied to clipboard!
Procedure 12.6. Remove an Application from the Server
- To remove an application, use the following command:
mvn tomcat:undeploy -Plibrary-tomcat
$ mvn tomcat:undeploy -Plibrary-tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.7. The CarMart Quickstart in Remote Client-Server Mode Copy linkLink copied to clipboard!
12.7.1. Build and Deploy the CarMart Quickstart in Remote Client-Server Mode Copy linkLink copied to clipboard!
Important
Prerequisites for this procedure are as follows:
- Obtain the most recent supported JBoss Data Grid Remote Client-Server Mode distribution files from Red Hat.
- Ensure that the JBoss Data Grid and JBoss Enterprise Application Platform Maven repositories are installed and configured. For details, refer to Chapter 4, Install and Use the Maven Repositories
- Select a JBoss server to use (JBoss Enterprise Application Platform 6 (or better) or JBoss Application Server 7 (or better). Navigate to the root of the JBoss server directory in a terminal window and enter the following command:For Linux users:
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow For Windows users:$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure 12.7. Build and Deploy the CarMart Quickstart in Remote Client-Server Mode
Configure the Standalone File
Add the following configuration to thestandalone.xmlfile located in the$JDG_HOME/standalone/configuration/directory.- Add the following configuration within the infinispan subsystem tags:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note
If thecarcacheelement already exists in your configuration, replace it with the provided configuration.
Start the JBoss Data Grid Server
Run the following script to start the JBoss Data Grid Server:$JDG_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100
$JDG_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the JBoss Server
Run the following script to start the JBoss server instance where your application will deploy:$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Optional: Specify the Host and Port Address
The application uses the values in thejboss-datagrid-quickstarts-6.1/carmart/src/main/resources/META-INF/datagrid.propertiesfile to locate the JBoss Data Grid server. If your JBoss Data Grid server is not running using the default host and port values, edit the file and insert the correct host and port values, as follows:datagrid.host=localhost datagrid.hotrod.port=11322
datagrid.host=localhost datagrid.hotrod.port=11322Copy to Clipboard Copied! Toggle word wrap Toggle overflow Build and Deploy the Application
Use the following command to build and deploy your application in the relevant directory:mvn clean package -Premote
$ mvn clean package -PremoteCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.7.2. View the CarMart Quickstart in Remote Client-Server Mode Copy linkLink copied to clipboard!
The CarMart quickstart must be built and deployed be viewed.
Procedure 12.8. View the CarMart Quickstart in Remote Client-Server Mode
- Visit the following link in a browser window to view the application:
http://localhost:8080/jboss-as-carmart
http://localhost:8080/jboss-as-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.7.3. Remove the CarMart Quickstart in Remote Client-Server Mode Copy linkLink copied to clipboard!
Procedure 12.9. Remove an Application in Remote Client-Server Mode
- To remove an application, use the following command:
mvn jboss-as:undeploy -Premote
$ mvn jboss-as:undeploy -PremoteCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapter 13. The Football Quickstart Endpoint Examples Copy linkLink copied to clipboard!
13.1. About Football Quickstart Endpoint Examples Copy linkLink copied to clipboard!
The following features are available with the example Football Manager application:
- Add a team.
- Add players.
- Remove all entities (teams and players).
- Listing all teams and players.
JBoss Data Grid's Football quickstart can be found at the following locations:
jboss-datagrid-quickstarts-6.1/rest-endpointjboss-datagrid-quickstarts-6.1/hotrod-endpointjboss-datagrid-quickstarts-6.1/memcached-endpoint
13.2. Quickstart Prerequisites Copy linkLink copied to clipboard!
- Java 6.0 (Java SDK 1.6) or better.
- JBoss Enterprise Application Platform 6.x or JBoss Application Server 7.x.
- Maven 3.0 or better.
- Configure the Maven Repository. For details, refer to Chapter 4, Install and Use the Maven Repositories
13.3. Build the Football Application Copy linkLink copied to clipboard!
Important
Prerequisites for this procedure are as follows:
- Obtain the most recent supported JBoss Data Grid Remote Client-Server Mode distribution files from Red Hat.
- Ensure that the JBoss Data Grid and JBoss Enterprise Application Platform Maven repositories are installed and configured. For details, refer to Chapter 4, Install and Use the Maven Repositories
Procedure 13.1. Build the Football Application
Add Configurations
Edit thestandalone.xmlfile (located at$JDG_HOME/standalone/configuration/) to add definitions for the datasource and infinispan subsystems.- Add the following subsystem definition for the datasource:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Add the following subsystem definition for infinispan:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Note
The Hot Rod and REST endpoints use the cache namedteamsand memcached endpoint usesmemcachedCacheas a default.Disable REST Security
As a default, thestandalone.xmlconfiguration file protects the REST endpoint withBASICauthentication. This quickstart cannot perform authentication, therefore the REST authentication must be disabled in the REST connector by removing thesecurity-domainandauth-methodparameters. The resulting configuration (with REST authentication disabled) is as follows:<rest-connector virtual-server="default-host" cache-container="local" /><rest-connector virtual-server="default-host" cache-container="local" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow For more details about security, refer to the REST Authentication Chapter in JBoss Data Grid's Developer Guide.Edit the Submodule Configuration File
Each submodule (specificallyhotrod-endpoint,rest-endpointandmemcached-endpoint) contains a configuration file (located at$JDG_QUICKSTART/src/main/resources/jdg.properties). Modify the default values in the configuration file to set the values required for your specific JBoss Data Grid installation.Build the Application
Use the following command to build the example application in its directory:mvn clean package
mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow This step results in the use of Maven's shade plugin, which bundles all dependencies into a single jar file for ease of use. This file is named{PROTOCOL}-endpoint-quickstart.jar, for examplerest-endpoint-quickstart.jarfor the REST version.Start JBoss Data Grid
Run the following script to run JBoss Data Grid:$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Run the Application
Run the example application in its directory with the following command:mvn exec:java
mvn exec:javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Part VI. Uninstall JBoss Data Grid Copy linkLink copied to clipboard!
Chapter 14. Remove JBoss Data Grid Copy linkLink copied to clipboard!
14.1. Remove JBoss Data Grid from Your Linux System Copy linkLink copied to clipboard!
Warning
Procedure 14.1. Remove JBoss Data Grid from Your Linux System
Shut Down Server
Ensure that the JBoss Data Grid server is shut down.Navigate to the JBoss Data Grid Home Directory
Use the command line to change into the level above the$JDG_HOMEfolder.Delete the JBoss Data Grid Home Directory
Enter the following command in the terminal to remove JBoss Data Grid, replacing$JDG_HOMEwith the name name of your JBoss Data Grid home directory:rm -Rf $JDG_HOME
$ rm -Rf $JDG_HOMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
14.2. Remove JBoss Data Grid from Your Windows System Copy linkLink copied to clipboard!
Warning
Procedure 14.2. Remove JBoss Data Grid from Your Windows System
Shut Down Server
Ensure that the JBoss Data Grid server is shut down.Navigate to the JBoss Data Grid Home Directory
Use the Windows Explorer to navigate to the directory in which the$JDG_HOMEfolder is located.Delete the JBoss Data Grid Home Directory
Select the$JDG_HOMEfolder and delete it.
Appendix A. References Copy linkLink copied to clipboard!
A.1. About Key-Value Pairs Copy linkLink copied to clipboard!
- A key is unique to a particular data entry and is composed from data attributes of the particular entry it relates to.
- A value is the data assigned to and identified by the key.
Appendix B. Maven Configuration Information Copy linkLink copied to clipboard!
B.1. Install the JBoss Enterprise Application Platform Repository Using Nexus Copy linkLink copied to clipboard!
Procedure B.1. Download the JBoss Enterprise Application Platform 6 Maven Repository ZIP archive
- Open a web browser and access this URL: https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=appplatform.
- Find "Application Platform 6 Maven Repository" in the list.
- Click the button to download a
.zipfile containing the repository. - Unzip the files into a directory of your choosing.
Procedure B.2. Add the JBoss Enterprise Application Platform 6 Maven Repository using Nexus Maven Repository Manager
- Log into Nexus as an Administrator.
- Select the Repositories section from the → menu to the left of your repository manager.
- Click the Add... dropdown, then select Hosted Repository.
- Give the new repository a name and ID.
- Enter the path on disk to the unzipped repository in the field Override Local Storage Location.
- Continue if you want the artifact to be available in a repository group. Do not continue with this procedure if this is not what you want.
- Select the repository group.
- Click on the Configure tab.
- Drag the new JBoss Maven repository from the Available Repositories list to the Ordered Group Repositories list on the left.
Note
Note that the order of this list determines the priority for searching Maven artifacts.
The repository is configured using Nexus Maven Repository Manager.
B.2. Maven Repository Configuration Example Copy linkLink copied to clipboard!
example-settings.xml is available in the root directory of the Maven repository folder after it is unzipped. The following is an excerpt that contains the relevant parts of the example-settings.xml file:
Appendix C. Revision History Copy linkLink copied to clipboard!
| Revision History | |||
|---|---|---|---|
| Revision 6.1.0-4.400 | 2013-10-31 | ||
| |||
| Revision 6.1.0-4 | Tue Aug 06 2013 | ||
| |||
| Revision 6.1.0-3 | Sun Apr 07 2013 | ||
| |||