2.2. Creating CacheManagers
2.2.1. Create a New RemoteCacheManager
Procedure 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();
- Use the
ConfigurationBuilder()
constructor to create a new configuration builder. The.addServer()
method adds a remote server, configured via the.host(<hostname|ip>)
and.port(<port>)
properties. - Create a new
RemoteCacheManager
using the supplied configuration. - Retrieve the default cache from the remote server.
2.2.2. Create a New Embedded Cache Manager
Use the following instructions to create a new EmbeddedCacheManager without using CDI:
Procedure 2.2. 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 configuration specified in
my-config-file.xml
.
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.3. Use CDI to Create a New EmbeddedCacheManager
- Specify a default configuration:
public class Config @Produces public EmbeddedCacheManager defaultCacheManager() { ConfigurationBuilder builder = new ConfigurationBuilder(); Configuration configuration = builder.eviction().strategy(EvictionStrategy.LRU).maxEntries(100).build(); return new DefaultCacheManager(configuration); } }
- Inject the default cache manager.
<!-- Additional configuration information here --> @Inject EmbeddedCacheManager cacheManager; <!-- Additional configuration information here -->