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
RemoteCacheManagerusing 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.xmlfile 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 -->