org.infinispan.client.hotrod
Class RemoteCacheManager

java.lang.Object
  extended by org.infinispan.client.hotrod.RemoteCacheManager
All Implemented Interfaces:
BasicCacheContainer, Lifecycle

public class RemoteCacheManager
extends Object
implements BasicCacheContainer

Factory for RemoteCaches.

Lifecycle:

In order to be able to use an RemoteCache, the RemoteCacheManager must be started first: beside other things, this instantiates connections to Hot Rod server(s). Starting the RemoteCacheManager can be done either at creation by passing start==true to constructor or by using a constructor that does that for you (see C-tor documentation); or after construction by calling start().

This is an "expensive" object, as it manages a set of persistent TCP connections to the Hot Rod servers. It is recommended to only have one instance of this per JVM, and to cache it between calls to the server (i.e. remoteCache operations).

stop() needs to be called explicitly in order to release all the resources (e.g. threads, TCP connections).

Configuration:

The cache manager is configured through a Configuration object passed to the constructor (there are also "simplified" constructors that rely on default values). If migrating from a previous version of Infinispan, where Properties were used to configure the RemoteCacheManager, please use the ConfigurationBuilder.withProperties(Properties) method.

Below is the list of supported configuration elements:


The following properties are related to connection pooling:

Since:
4.1
Author:
Mircea.Markus@jboss.com

Field Summary
static String HOTROD_CLIENT_PROPERTIES
           
 
Fields inherited from interface org.infinispan.api.BasicCacheContainer
DEFAULT_CACHE_NAME
 
Constructor Summary
RemoteCacheManager()
          Same as RemoteCacheManager(boolean) and it also starts the cache.
RemoteCacheManager(boolean start)
          Same as RemoteCacheManager(java.util.Properties), but it will try to lookup the config properties in the classpath, in a file named hotrod-client.properties.
RemoteCacheManager(Configuration configuration)
          Create a new RemoteCacheManager using the supplied Configuration.
RemoteCacheManager(Configuration configuration, boolean start)
          Create a new RemoteCacheManager using the supplied Configuration.
RemoteCacheManager(Marshaller marshaller, Properties props)
          Deprecated. 
RemoteCacheManager(Marshaller marshaller, Properties props, boolean start)
          Deprecated. 
RemoteCacheManager(Marshaller marshaller, Properties props, boolean start, ClassLoader classLoader, ExecutorFactory asyncExecutorFactory)
          Deprecated. 
RemoteCacheManager(Marshaller marshaller, Properties props, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(Marshaller marshaller, Properties props, ExecutorFactory asyncExecutorFactory)
          Deprecated. 
RemoteCacheManager(Properties props)
          Deprecated. 
RemoteCacheManager(Properties props, boolean start)
          Deprecated. 
RemoteCacheManager(Properties props, boolean start, ClassLoader classLoader, ExecutorFactory asyncExecutorFactory)
          Deprecated. 
RemoteCacheManager(Properties props, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(String servers)
          Deprecated. 
RemoteCacheManager(String servers, boolean start)
          Deprecated. 
RemoteCacheManager(String servers, boolean start, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(String servers, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(String host, int port)
          Deprecated. 
RemoteCacheManager(String host, int port, boolean start)
          Deprecated. 
RemoteCacheManager(String host, int port, boolean start, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(String host, int port, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(URL config)
          Deprecated. 
RemoteCacheManager(URL config, boolean start)
          Deprecated. 
RemoteCacheManager(URL config, boolean start, ClassLoader classLoader)
          Deprecated. 
RemoteCacheManager(URL config, ClassLoader classLoader)
          Deprecated. 
 
Method Summary
<K,V> RemoteCache<K,V>
getCache()
          Retrieves the default cache from the remote server.
<K,V> RemoteCache<K,V>
getCache(boolean forceReturnValue)
           
<K,V> RemoteCache<K,V>
getCache(String cacheName)
          Retrieves a named cache from the remote server if the cache has been defined, otherwise if the cache name is underfined, it will return null.
<K,V> RemoteCache<K,V>
getCache(String cacheName, boolean forceReturnValue)
           
 Configuration getConfiguration()
          Retrieves the configuration currently in use.
 Marshaller getMarshaller()
           
 Properties getProperties()
          Deprecated. 
 boolean isStarted()
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HOTROD_CLIENT_PROPERTIES

public static final String HOTROD_CLIENT_PROPERTIES
See Also:
Constant Field Values
Constructor Detail

RemoteCacheManager

public RemoteCacheManager(Configuration configuration)
Create a new RemoteCacheManager using the supplied Configuration. The RemoteCacheManager will be started automatically

Parameters:
configuration - the configuration to use for this RemoteCacheManager
Since:
5.3

RemoteCacheManager

public RemoteCacheManager(Configuration configuration,
                          boolean start)
Create a new RemoteCacheManager using the supplied Configuration. The RemoteCacheManager will be started automatically only if the start parameter is true

Parameters:
configuration - the configuration to use for this RemoteCacheManager
start - whether or not to start the manager on return from the constructor.
Since:
5.3

RemoteCacheManager

@Deprecated
public RemoteCacheManager(Marshaller marshaller,
                                     Properties props,
                                     boolean start)
Deprecated. 

Builds a remote cache manager that relies on the provided Marshaller for marshalling keys and values to be send over to the remote Infinispan cluster.

Parameters:
marshaller - marshaller implementation to be used
props - other properties
start - whether or not to start the manager on return from the constructor.

RemoteCacheManager

@Deprecated
public RemoteCacheManager(Marshaller marshaller,
                                     Properties props,
                                     boolean start,
                                     ClassLoader classLoader,
                                     ExecutorFactory asyncExecutorFactory)
Deprecated. 

Builds a remote cache manager that relies on the provided Marshaller for marshalling keys and values to be send over to the remote Infinispan cluster.

Parameters:
marshaller - marshaller implementation to be used
props - other properties
start - weather or not to start the manager on return from the constructor.

RemoteCacheManager

@Deprecated
public RemoteCacheManager(Marshaller marshaller,
                                     Properties props)
Deprecated. 

Same as RemoteCacheManager(Marshaller, java.util.Properties, boolean) with start = true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Marshaller marshaller,
                                     Properties props,
                                     ExecutorFactory asyncExecutorFactory)
Deprecated. 

Same as RemoteCacheManager(Marshaller, java.util.Properties, boolean) with start = true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Marshaller marshaller,
                                     Properties props,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(Marshaller, java.util.Properties, boolean) with start = true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Properties props,
                                     boolean start)
Deprecated. 

Build a cache manager based on supplied properties.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Properties props,
                                     boolean start,
                                     ClassLoader classLoader,
                                     ExecutorFactory asyncExecutorFactory)
Deprecated. 

Build a cache manager based on supplied properties.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Properties props)
Deprecated. 

Same as RemoteCacheManager(java.util.Properties, boolean), and it also starts the cache (start==true).


RemoteCacheManager

@Deprecated
public RemoteCacheManager(Properties props,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(java.util.Properties, boolean), and it also starts the cache (start==true).


RemoteCacheManager

public RemoteCacheManager(boolean start)
Same as RemoteCacheManager(java.util.Properties), but it will try to lookup the config properties in the classpath, in a file named hotrod-client.properties. If no properties can be found in the classpath, the server tries to connect to "127.0.0.1:11222" in start.

Parameters:
start - weather or not to start the RemoteCacheManager
Throws:
HotRodClientException - if such a file cannot be found in the classpath

RemoteCacheManager

public RemoteCacheManager()
Same as RemoteCacheManager(boolean) and it also starts the cache.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String host,
                                     int port,
                                     boolean start)
Deprecated. 

Creates a remote cache manager aware of the Hot Rod server listening at host:port.

Parameters:
start - weather or not to start the RemoteCacheManager.

RemoteCacheManager

@Deprecated
public RemoteCacheManager(String host,
                                     int port,
                                     boolean start,
                                     ClassLoader classLoader)
Deprecated. 

Creates a remote cache manager aware of the Hot Rod server listening at host:port.

Parameters:
start - weather or not to start the RemoteCacheManager.

RemoteCacheManager

@Deprecated
public RemoteCacheManager(String host,
                                     int port)
Deprecated. 

Same as RemoteCacheManager(String, int, boolean) with start=true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String host,
                                     int port,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(String, int, boolean) with start=true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String servers,
                                     boolean start)
Deprecated. 

The given string should have the following structure: "host1:port2;host:port2...". Every host:port defines a server.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String servers,
                                     boolean start,
                                     ClassLoader classLoader)
Deprecated. 

The given string should have the following structure: "host1:port2;host:port2...". Every host:port defines a server.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String servers)
Deprecated. 

Same as RemoteCacheManager(String, boolean), with start=true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(String servers,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(String, boolean), with start=true.


RemoteCacheManager

@Deprecated
public RemoteCacheManager(URL config,
                                     boolean start)
Deprecated. 

Same as RemoteCacheManager(java.util.Properties), but it will try to lookup the config properties in supplied URL.

Parameters:
start - weather or not to start the RemoteCacheManager
Throws:
HotRodClientException - if properties could not be loaded

RemoteCacheManager

@Deprecated
public RemoteCacheManager(URL config,
                                     boolean start,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(java.util.Properties), but it will try to lookup the config properties in supplied URL.

Parameters:
start - weather or not to start the RemoteCacheManager
Throws:
HotRodClientException - if properties could not be loaded

RemoteCacheManager

@Deprecated
public RemoteCacheManager(URL config)
Deprecated. 

Same as RemoteCacheManager(java.net.URL) and it also starts the cache (start==true).

Parameters:
config -

RemoteCacheManager

@Deprecated
public RemoteCacheManager(URL config,
                                     ClassLoader classLoader)
Deprecated. 

Same as RemoteCacheManager(java.net.URL) and it also starts the cache (start==true).

Parameters:
config -
Method Detail

getConfiguration

public Configuration getConfiguration()
Retrieves the configuration currently in use. The configuration object is immutable. If you wish to change configuration, you should use the following pattern: ConfigurationBuilder builder = new ConfigurationBuilder(); builder.read(remoteCacheManager.getConfiguration()); // modify builder remoteCacheManager.stop(); remoteCacheManager = new RemoteCacheManager(builder.build());

Returns:
The configuration of this RemoteCacheManager
Since:
5.3

getProperties

@Deprecated
public Properties getProperties()
Deprecated. 

Retrieves a clone of the properties currently in use. Note that making any changes to the properties instance retrieved will not affect an already-running RemoteCacheManager. If you wish to make changes to an already-running RemoteCacheManager, you should use the following pattern: Properties p = remoteCacheManager.getProperties(); // update properties remoteCacheManager.stop(); remoteCacheManager = new RemoteCacheManager(p);

Returns:
a clone of the properties used to configure this RemoteCacheManager
Since:
4.2

getCache

public <K,V> RemoteCache<K,V> getCache(String cacheName)
Retrieves a named cache from the remote server if the cache has been defined, otherwise if the cache name is underfined, it will return null.

Specified by:
getCache in interface BasicCacheContainer
Parameters:
cacheName - name of cache to retrieve
Returns:
a cache instance identified by cacheName or null if the cache name has not been defined

getCache

public <K,V> RemoteCache<K,V> getCache(String cacheName,
                                       boolean forceReturnValue)

getCache

public <K,V> RemoteCache<K,V> getCache()
Retrieves the default cache from the remote server.

Specified by:
getCache in interface BasicCacheContainer
Returns:
a remote cache instance that can be used to send requests to the default cache in the server

getCache

public <K,V> RemoteCache<K,V> getCache(boolean forceReturnValue)

start

public void start()
Specified by:
start in interface Lifecycle

stop

public void stop()
Specified by:
stop in interface Lifecycle

isStarted

public boolean isStarted()

getMarshaller

public Marshaller getMarshaller()

-->

Copyright © 2013 JBoss, a division of Red Hat. All Rights Reserved.