Search

Chapter 7. Remotely Creating Caches

download PDF

When you remotely create caches with the cache-service, you can configure caches to be ephemeral or permanent and if data is replicated across the cluster.

You can define any custom configuration when you remotely create caches with the datagrid-service.

Remotely create cache definitions with the cache-service and datagrid-service through the Hot Rod protocol as follows:

  1. Instantiate the RemoteCacheManager class to connect to the service.
  2. Call the createCache() method to create a cache, as in the following example:

    private static void createCache(String appName) {
          //Connect to the Hot Rod service.
          final String host = appName;
          //Use the configuration bean.
          ConfigurationBuilder cfg = ...
    
          System.out.printf("--- Connecting to %s ---%n", appName);
    
          //Create a new RemoteCacheManager and start it.
          final RemoteCacheManager remote = new RemoteCacheManager(cfg.build());
    
          //Set a name for the cache.
          final String cacheName = "custom";
    
          System.out.printf("--- Creating cache in %s ---%n", appName);
    
          //Perform remote administration operations.
          remote.administration()
             //Include a flag to make the cache permanent.
             .withFlags(CacheContainerAdmin.AdminFlag.PERMANENT)
             //Create a cache on the remote server.
             //Pass null instead of XML to use the default cache configuration.
             .createCache(cacheName, null);
    
          System.out.printf("--- Cache '%s' created in '%s' ---%n", cacheName, appName);
    }
    Note

    If the named cache already exists, an exception is thrown. Alternatives are to:

    • Call the getOrCreateCache method in RemoteCacheManagerAdmin to return the cache name instead of throwing an exception.
    • Call the removeCache method in RemoteCacheManagerAdmin to destroy the cache and then call createCache again.
Tip
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.