All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.client.hotrod.HotRod Maven / Gradle / Ivy

There is a newer version: 9.3.1.Final
Show newest version
package org.infinispan.client.hotrod;

import org.infinispan.api.Experimental;
import org.infinispan.api.Infinispan;
import org.infinispan.api.async.AsyncContainer;
import org.infinispan.api.mutiny.MutinyContainer;
import org.infinispan.api.sync.SyncContainer;
import org.infinispan.client.hotrod.configuration.Configuration;

/**
 * @since 14.0
 **/
@Experimental
final class HotRod implements Infinispan {
   final Configuration configuration;
   final RemoteCacheManager cacheManager;

   HotRod(Configuration configuration) {
      this(configuration, new RemoteCacheManager(configuration));
   }

   HotRod(Configuration configuration, RemoteCacheManager rcm) {
      this.configuration = configuration;
      this.cacheManager = rcm;
      this.cacheManager.start();
   }

   @Override
   public SyncContainer sync() {
      return new HotRodSyncContainer(this);
   }

   @Override
   public AsyncContainer async() {
      return new HotRodAsyncContainer(this);
   }

   @Override
   public MutinyContainer mutiny() {
      return new HotRodMutinyContainer(this);
   }

   @Override
   public void close() {
      cacheManager.close();
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy