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:
- 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();
- Create a new
RemoteCacheManager
using the supplied configuration.RemoteCacheManager manager = new RemoteCacheManager(conf);
- 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
- Create a configuration XML file. For example, create the
my-config.file.xml
file on the classpath (in theresources/
folder) and add the configuration information in this file. - 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
- 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); } }
- Inject the default cache manager.
... @Inject EmbeddedCacheManager cacheManager; ...