JBoss Community Archive (Read Only)

Infinispan 5.1

Using Hot Rod Server


Starting with version 4.1, Infinispan distribution contains a server module that implements Infinispan's custom binary protocol called Hot Rod. The protocol was designed to enable faster client/server interactions compared to other existing text based protocols and to allow clients to make more intelligent decisions with regards to load balancing, failover and even data location operations.

Starting an Infinispan Hot Rod server

The simplest way to start up  Hot Rod  server is to simply unzip the all distribution and either run the startServer.bat or startServer.sh script passing 'hotrod' as the protocol to run. For example:

[g@eq]~/infinispan-4.1.0-SNAPSHOT% ./bin/startServer.sh -r hotrod

When the script is called without any further parameters, the started Hot Rod server bounds to port 11222 (Infinispan 4.2.0.BETA1 or earlier listened on port 11311 by default) on localhost ( If no further parameters is given at startup, this means that any cache instance queried will be based on the default cache instance which will be a local (unclustered) Infinispan cache instance configured with default values. Please visit the Configuration Reference Guide for more information on these values. If you want to use non-default values, please check the next section on command line options.

Command Line Options

You can optionally pass a set of parameters to the Hot Rod server that allow you to configure different parts of the server. You can find detailed information in the server command line options article.

So, following the discussion earlier on configuring a Hot Rod server with a custom Infinispan configuration, you'd use -c parameter to pass the corresponding file. Hot Rod clients could then send requests to specific cache instances whose name match one of the names in the custom configuration file.

Predefining Hot Rod Caches

In order to provide a more consistent experience when interacting with Hot Rod servers and avoid issues related to lazily started cache instances, on startup, Hot Rod server starts all defined caches in the Infinispan configuration file including the default cache. If no configuration file was provided, only the default cache will be started. Any request to an undefined cache will be rejected by the server.

So, as user, this means that any caches you interact with must be defined in the Infinispan configuration file by providing a namedCache XML element entry for each of them. Besides, as explained the 'Cache Name' section of the Hot Rod protocol, you can also interact with the default cache by passing an empty cache name.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-11 09:16:43 UTC, last content change 2010-11-05 19:42:42 UTC.