2.2. Creating CacheManagers

2.2.1. Create a New RemoteCacheManager

Example 2.1. Configure a New RemoteCacheManager

import org.infinispan.client.hotrod.configuration.Configuration;
import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;

Configuration conf = new 
ConfigurationBuilder().addServer().host("localhost").port(11222).build();
RemoteCacheManager manager = new RemoteCacheManager(conf);
RemoteCache defaultCache = manager.getCache();
Configuration Explanation

An explanation of each line of the provided configuration is as follows:

  1. Use the ConfigurationBuilder() method to configure a new builder. The .addServer() property adds a remote server, specified via the .host(<hostname|ip>) and .port(<port>) properties.
    Configuration conf = new 
    ConfigurationBuilder().addServer().host(<hostname|ip>).port(<port>).build();
  2. Create a new RemoteCacheManager using the supplied configuration.
    RemoteCacheManager manager = new RemoteCacheManager(conf);
  3. Retrieve the default cache from the remote server.
    RemoteCache defaultCache = manager.getCache();
    

2.2.2. Create a New Embedded Cache Manager

Use the following instructions to create a new EmbeddedCacheManager without using CDI:

Procedure 2.1. Create a New Embedded Cache Manager

  1. Create a configuration XML file. For example, create the my-config.file.xml file on the classpath (in the resources/ folder) and add the configuration information in this file.
  2. Use the following programmatic configuration to create a cache manager using the configuration file:
    EmbeddedCacheManager manager = new DefaultCacheManager("my-config-file.xml");
    Cache defaultCache = manager.getCache();
The outlined procedure creates a new EmbeddedCacheManager using the basic configuration specified.

2.2.3. Create a New Embedded Cache Manager Using CDI

Use the following steps to create a new EmbeddedCacheManager instance using CDI:

Procedure 2.2. Use CDI to Create a New EmbeddedCacheManager

  1. Specify a default configuration:
    public class Config
       @Produces
       public EmbeddedCacheManager defaultCacheManager() {
          Configuration configuration = new ConfigurationBuilder();          
          builder.eviction().strategy(EvictionStrategy.LRU).maxEntries(100).build();
          return new DefaultCacheManager(configuration);
       }
    }
  2. Inject the default cache manager.
    ...
    @Inject
    EmbeddedCacheManager cacheManager;
    ...