Class IgniteSpringBean

  • All Implemented Interfaces:
    Externalizable, Serializable, AutoCloseable, Ignite, org.springframework.beans.factory.Aware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware

    public class IgniteSpringBean
    extends Object
    implements Ignite, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware, Externalizable
    Ignite Spring bean allows to bypass Ignition methods. In other words, this bean class allows to inject new grid instance from Spring configuration file directly without invoking static Ignition methods. This class can be wired directly from Spring and can be referenced from within other Spring beans. By virtue of implementing DisposableBean and SmartInitializingSingleton interfaces, IgniteSpringBean automatically starts and stops underlying grid instance.

    A note should be taken that Ignite instance is started after all other Spring beans have been initialized and right before Spring context is refreshed. That implies that it's not valid to reference IgniteSpringBean from any kind of Spring bean init methods like PostConstruct. If it's required to reference IgniteSpringBean for other bean initialization purposes, it should be done from a ContextRefreshedEvent listener method declared in that bean.

    Spring Configuration Example

    Here is a typical example of describing it in Spring file:
     <bean id="mySpringBean" class="org.apache.ignite.IgniteSpringBean">
         <property name="configuration">
             <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
                 <property name="igniteInstanceName" value="mySpringGrid"/>
             </bean>
         </property>
     </bean>
     
    Or use default configuration:
     <bean id="mySpringBean" class="org.apache.ignite.IgniteSpringBean"/>
     

    Java Example

    Here is how you may access this bean from code:
     AbstractApplicationContext ctx = new FileSystemXmlApplicationContext("/path/to/spring/file");
    
     // Register Spring hook to destroy bean automatically.
     ctx.registerShutdownHook();
    
     Ignite ignite = (Ignite)ctx.getBean("mySpringBean");
     

    See Also:
    Serialized Form
    • Constructor Detail

      • IgniteSpringBean

        public IgniteSpringBean()
    • Method Detail

      • configuration

        public IgniteConfiguration configuration()
        Gets the configuration of this Ignite instance.

        NOTE:
        SPIs obtains through this method should never be used directly. SPIs provide internal view on the subsystem and is used internally by Ignite kernal. In rare use cases when access to a specific implementation of this SPI is required - an instance of this SPI can be obtained via this method to check its configuration properties or call other non-SPI methods.

        Specified by:
        configuration in interface Ignite
        Returns:
        Ignite configuration instance.
      • getConfiguration

        public IgniteConfiguration getConfiguration()
        Gets the configuration of this Ignite instance.

        This method is required for proper Spring integration and is the same as configuration(). See https://issues.apache.org/jira/browse/IGNITE-1102 for details.

        NOTE:
        SPIs obtains through this method should never be used directly. SPIs provide internal view on the subsystem and is used internally by Ignite kernal. In rare use cases when access to a specific implementation of this SPI is required - an instance of this SPI can be obtained via this method to check its configuration properties or call other non-SPI methods.

        Returns:
        Ignite configuration instance.
        See Also:
        configuration()
      • setConfiguration

        public void setConfiguration​(IgniteConfiguration cfg)
        Sets Ignite configuration.
        Parameters:
        cfg - Ignite configuration.
      • getApplicationContext

        public org.springframework.context.ApplicationContext getApplicationContext()
                                                                             throws org.springframework.beans.BeansException
        Gets the spring application context this Ignite runs in.
        Returns:
        Application context this Ignite runs in.
        Throws:
        org.springframework.beans.BeansException
      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext ctx)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • destroy

        public void destroy()
                     throws Exception
        Specified by:
        destroy in interface org.springframework.beans.factory.DisposableBean
        Throws:
        Exception
      • afterSingletonsInstantiated

        public void afterSingletonsInstantiated()
        Specified by:
        afterSingletonsInstantiated in interface org.springframework.beans.factory.SmartInitializingSingleton
      • log

        public IgniteLogger log()
        Gets grid's logger.
        Specified by:
        log in interface Ignite
        Returns:
        Grid's logger.
      • compute

        public IgniteCompute compute()
        Gets compute facade over all cluster nodes started in server mode.
        Specified by:
        compute in interface Ignite
        Returns:
        Compute instance over all cluster nodes started in server mode.
      • services

        public IgniteServices services()
        Gets services facade over all cluster nodes started in server mode.
        Specified by:
        services in interface Ignite
        Returns:
        Services facade over all cluster nodes started in server mode.
      • message

        public IgniteMessaging message()
        Gets messaging facade over all cluster nodes.
        Specified by:
        message in interface Ignite
        Returns:
        Messaging instance over all cluster nodes.
      • events

        public IgniteEvents events()
        Gets events facade over all cluster nodes.
        Specified by:
        events in interface Ignite
        Returns:
        Events instance over all cluster nodes.
      • executorService

        public ExecutorService executorService()
        Creates a new ExecutorService which will execute all submitted Callable and Runnable jobs on all cluster nodes. This essentially creates a Distributed Thread Pool that can be used as a replacement for local thread pools.
        Specified by:
        executorService in interface Ignite
        Returns:
        Grid-enabled ExecutorService.
      • compute

        public IgniteCompute compute​(ClusterGroup grp)
        Gets compute facade over the specified cluster group. All operations on the returned IgniteCompute instance will only include nodes from this cluster group.
        Specified by:
        compute in interface Ignite
        Parameters:
        grp - Cluster group.
        Returns:
        Compute instance over given cluster group.
      • message

        public IgniteMessaging message​(ClusterGroup prj)
        Gets messaging facade over nodes within the cluster group. All operations on the returned IgniteMessaging instance will only include nodes from the specified cluster group.
        Specified by:
        message in interface Ignite
        Parameters:
        prj - Cluster group.
        Returns:
        Messaging instance over given cluster group.
      • events

        public IgniteEvents events​(ClusterGroup grp)
        Gets events facade over nodes within the cluster group. All operations on the returned IgniteEvents instance will only include nodes from the specified cluster group.
        Specified by:
        events in interface Ignite
        Parameters:
        grp - Cluster group.
        Returns:
        Events instance over given cluster group.
      • services

        public IgniteServices services​(ClusterGroup grp)
        Gets services facade over nodes within the cluster group. All operations on the returned IgniteMessaging instance will only include nodes from the specified cluster group.
        Specified by:
        services in interface Ignite
        Parameters:
        grp - Cluster group.
        Returns:
        Services functionality over given cluster group.
      • executorService

        public ExecutorService executorService​(ClusterGroup grp)
        Creates a new ExecutorService which will execute all submitted Callable and Runnable jobs on nodes in the specified cluster group. This essentially creates a Distributed Thread Pool that can be used as a replacement for local thread pools.
        Specified by:
        executorService in interface Ignite
        Parameters:
        grp - Cluster group.
        Returns:
        ExecutorService which will execute jobs on nodes in given cluster group.
      • scheduler

        public IgniteScheduler scheduler()
        Gets an instance of cron-based scheduler.
        Specified by:
        scheduler in interface Ignite
        Returns:
        Instance of scheduler.
      • name

        public String name()
        Gets the name of the Ignite instance. The name allows having multiple Ignite instances with different names within the same Java VM.

        If default Ignite instance is used, then null is returned. Refer to Ignition documentation for information on how to start named ignite Instances.

        Specified by:
        name in interface Ignite
        Returns:
        Name of the Ignite instance, or null for default Ignite instance.
      • resetLostPartitions

        public void resetLostPartitions​(Collection<String> cacheNames)
        Clears partition's lost state and moves caches to a normal mode.

        To avoid permanent data loss for persistent caches it's recommended to return all previously failed baseline nodes to the topology before calling this method.

        Specified by:
        resetLostPartitions in interface Ignite
        Parameters:
        cacheNames - Name of the caches for which lost partitions is reset.
      • tracingConfiguration

        @NotNull
        public @NotNull TracingConfigurationManager tracingConfiguration()
        Returns the TracingConfigurationManager instance that allows to
        • Configure tracing parameters such as sampling rate for the specific tracing coordinates such as scope and label.
        • Retrieve the most specific tracing parameters for the specified tracing coordinates (scope and label)
        • Restore the tracing parameters for the specified tracing coordinates to the default.
        • List all pairs of tracing configuration coordinates and tracing configuration parameters.
        Specified by:
        tracingConfiguration in interface Ignite
        Returns:
        TracingConfigurationManager instance.
      • memoryMetrics

        @Nullable
        public @Nullable MemoryMetrics memoryMetrics​(String memPlcName)
        Specified by:
        memoryMetrics in interface Ignite
        Parameters:
        memPlcName - Name of the data region.
        Returns:
        MemoryMetrics snapshot or null if no memory region is configured under specified name.
      • cache

        public <K,​V> IgniteCache<K,​V> cache​(@Nullable
                                                        @Nullable String name)
        Gets an instance of IgniteCache API for the given name if one is configured or null otherwise. IgniteCache is a fully-compatible implementation of JCache (JSR 107) specification.
        Specified by:
        cache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        name - Cache name.
        Returns:
        Instance of the cache for the specified name or null if one does not exist.
      • cacheNames

        public Collection<String> cacheNames()
        Gets the collection of names of currently available caches.
        Specified by:
        cacheNames in interface Ignite
        Returns:
        Collection of names of currently available caches or an empty collection if no caches are available.
      • createCache

        public <K,​V> IgniteCache<K,​V> createCache​(CacheConfiguration<K,​V> cacheCfg)
        Dynamically starts new cache with the given cache configuration.

        If local node is an affinity node, this method will return the instance of started cache. Otherwise, it will create a client cache on local node.

        If a cache with the same name already exists in the grid, an exception will be thrown regardless whether the given configuration matches the configuration of the existing cache or not.

        Specified by:
        createCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheCfg - Cache configuration to use.
        Returns:
        Instance of started cache.
      • getOrCreateCache

        public <K,​V> IgniteCache<K,​V> getOrCreateCache​(CacheConfiguration<K,​V> cacheCfg)
        Gets existing cache with the given name or creates new one with the given configuration.

        If a cache with the same name already exist, this method will not check that the given configuration matches the configuration of existing cache and will return an instance of the existing cache.

        Specified by:
        getOrCreateCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheCfg - Cache configuration to use.
        Returns:
        Existing or newly created cache.
      • createCache

        public <K,​V> IgniteCache<K,​V> createCache​(CacheConfiguration<K,​V> cacheCfg,
                                                              NearCacheConfiguration<K,​V> nearCfg)
        Dynamically starts new cache with the given cache configuration.

        If local node is an affinity node, this method will return the instance of started cache. Otherwise, it will create a near cache with the given configuration on local node.

        If a cache with the same name already exists in the grid, an exception will be thrown regardless whether the given configuration matches the configuration of the existing cache or not.

        Specified by:
        createCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheCfg - Cache configuration to use.
        nearCfg - Near cache configuration to use on local node in case it is not an affinity node.
        Returns:
        Instance of started cache.
      • createCaches

        public Collection<IgniteCache> createCaches​(Collection<CacheConfiguration> cacheCfgs)
        Dynamically starts new caches with the given cache configurations.

        If local node is an affinity node, this method will return the instance of started caches. Otherwise, it will create a client caches on local node.

        If for one of configurations a cache with the same name already exists in the grid, an exception will be thrown regardless whether the given configuration matches the configuration of the existing cache or not.

        Specified by:
        createCaches in interface Ignite
        Parameters:
        cacheCfgs - Collection of cache configuration to use.
        Returns:
        Collection of instances of started caches.
      • getOrCreateCache

        public <K,​V> IgniteCache<K,​V> getOrCreateCache​(CacheConfiguration<K,​V> cacheCfg,
                                                                   NearCacheConfiguration<K,​V> nearCfg)
        Gets existing cache with the given cache configuration or creates one if it does not exist.

        If a cache with the same name already exist, this method will not check that the given configuration matches the configuration of existing cache and will return an instance of the existing cache.

        If local node is not an affinity node and a client cache without near cache has been already started on this node, an exception will be thrown.

        Specified by:
        getOrCreateCache in interface Ignite
        Type Parameters:
        K - type.
        V - type.
        Parameters:
        cacheCfg - Cache configuration.
        nearCfg - Near cache configuration for client.
        Returns:
        IgniteCache instance.
      • getOrCreateNearCache

        public <K,​V> IgniteCache<K,​V> getOrCreateNearCache​(@Nullable
                                                                       @Nullable String cacheName,
                                                                       NearCacheConfiguration<K,​V> nearCfg)
        Gets existing near cache with the given name or creates a new one.
        Specified by:
        getOrCreateNearCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheName - Cache name.
        nearCfg - Near configuration.
        Returns:
        IgniteCache instance.
      • getOrCreateCache

        public <K,​V> IgniteCache<K,​V> getOrCreateCache​(String cacheName)
        Gets existing cache with the given name or creates new one using template configuration.
        Specified by:
        getOrCreateCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheName - Cache name.
        Returns:
        Existing or newly created cache.
      • getOrCreateCaches

        public Collection<IgniteCache> getOrCreateCaches​(Collection<CacheConfiguration> cacheCfgs)
        Gets existing caches with the given name or created one with the given configuration.

        If a cache with the same name already exist, this method will not check that the given configuration matches the configuration of existing cache and will return an instance of the existing cache.

        Specified by:
        getOrCreateCaches in interface Ignite
        Parameters:
        cacheCfgs - Collection of cache configuration to use.
        Returns:
        Collection of existing or newly created caches.
      • createCache

        public <K,​V> IgniteCache<K,​V> createCache​(String cacheName)
        Dynamically starts new cache using template configuration.

        If local node is an affinity node, this method will return the instance of started cache. Otherwise, it will create a client cache on local node.

        If a cache with the same name already exists in the grid, an exception will be thrown.

        Specified by:
        createCache in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheName - Cache name.
        Returns:
        Instance of started cache.
      • addCacheConfiguration

        public <K,​V> void addCacheConfiguration​(CacheConfiguration<K,​V> cacheCfg)
        Adds cache configuration template.
        Specified by:
        addCacheConfiguration in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheCfg - Cache configuration template.
      • destroyCache

        public void destroyCache​(String cacheName)
        Destroys a cache with the given name and cleans data that was written to the cache. The call will deallocate all resources associated with the given cache on all nodes in the cluster. There is no way to undo the action and recover destroyed data.

        All existing instances of IgniteCache will be invalidated, subsequent calls to the API will throw exceptions.

        If a cache with the specified name does not exist in the grid, the operation has no effect.

        Specified by:
        destroyCache in interface Ignite
        Parameters:
        cacheName - Cache name to destroy.
      • destroyCaches

        public void destroyCaches​(Collection<String> cacheNames)
        Destroys caches with the given names and cleans data that was written to the caches. The call will deallocate all resources associated with the given caches on all nodes in the cluster. There is no way to undo the action and recover destroyed data.

        All existing instances of IgniteCache will be invalidated, subsequent calls to the API will throw exceptions.

        If the specified collection contains null or an empty value, this method will throw IllegalArgumentException and the caches will not be destroyed.

        If a cache with the specified name does not exist in the grid, the specified value will be skipped.

        Specified by:
        destroyCaches in interface Ignite
        Parameters:
        cacheNames - Collection of cache names to destroy.
      • dataStreamer

        public <K,​V> IgniteDataStreamer<K,​V> dataStreamer​(@Nullable
                                                                      @Nullable String cacheName)
        Gets a new instance of data streamer associated with given cache name. Data streamer is responsible for loading external data into in-memory data grid. For more information refer to IgniteDataStreamer documentation.
        Specified by:
        dataStreamer in interface Ignite
        Type Parameters:
        K - Type of the cache key.
        V - Type of the cache value.
        Parameters:
        cacheName - Cache name.
        Returns:
        Data streamer.
      • atomicSequence

        @Nullable
        public @Nullable IgniteAtomicSequence atomicSequence​(String name,
                                                             long initVal,
                                                             boolean create)
        Will get an atomic sequence from cache and create one if it has not been created yet and create flag is true. It will use configuration from IgniteConfiguration.getAtomicConfiguration().
        Specified by:
        atomicSequence in interface Ignite
        Parameters:
        name - Sequence name.
        initVal - Initial value for sequence. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Sequence for the given name.
      • atomicSequence

        public IgniteAtomicSequence atomicSequence​(String name,
                                                   AtomicConfiguration cfg,
                                                   long initVal,
                                                   boolean create)
                                            throws IgniteException
        Will get an atomic sequence from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicSequence in interface Ignite
        Parameters:
        name - Sequence name.
        cfg - Configuration.
        initVal - Initial value for sequence. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Sequence for the given name.
        Throws:
        IgniteException - If sequence could not be fetched or created.
      • atomicLong

        @Nullable
        public @Nullable IgniteAtomicLong atomicLong​(String name,
                                                     long initVal,
                                                     boolean create)
        Will get a atomic long from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicLong in interface Ignite
        Parameters:
        name - Name of atomic long.
        initVal - Initial value for atomic long. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic long.
      • atomicLong

        public IgniteAtomicLong atomicLong​(String name,
                                           AtomicConfiguration cfg,
                                           long initVal,
                                           boolean create)
                                    throws IgniteException
        Will get a atomic long from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicLong in interface Ignite
        Parameters:
        name - Name of atomic long.
        cfg - Configuration.
        initVal - Initial value for atomic long. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic long.
        Throws:
        IgniteException - If atomic long could not be fetched or created.
      • atomicReference

        @Nullable
        public <T> @Nullable IgniteAtomicReference<T> atomicReference​(String name,
                                                                      @Nullable
                                                                      T initVal,
                                                                      boolean create)
        Will get a atomic reference from cache and create one if it has not been created yet and create flag is true. It will use configuration from IgniteConfiguration.getAtomicConfiguration().
        Specified by:
        atomicReference in interface Ignite
        Type Parameters:
        T - Type of object referred to by this reference.
        Parameters:
        name - Atomic reference name.
        initVal - Initial value for atomic reference. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic reference for the given name.
      • atomicReference

        public <T> IgniteAtomicReference<T> atomicReference​(String name,
                                                            AtomicConfiguration cfg,
                                                            @Nullable
                                                            T initVal,
                                                            boolean create)
                                                     throws IgniteException
        Will get a atomic reference from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicReference in interface Ignite
        Type Parameters:
        T - Type of object referred to by this reference.
        Parameters:
        name - Atomic reference name.
        cfg - Configuration.
        initVal - Initial value for atomic reference. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic reference for the given name.
        Throws:
        IgniteException - If atomic reference could not be fetched or created.
      • atomicStamped

        @Nullable
        public <T,​S> @Nullable IgniteAtomicStamped<T,​S> atomicStamped​(String name,
                                                                                  @Nullable
                                                                                  T initVal,
                                                                                  @Nullable
                                                                                  S initStamp,
                                                                                  boolean create)
        Will get a atomic stamped from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicStamped in interface Ignite
        Type Parameters:
        T - Type of object referred to by this atomic.
        S - Type of stamp object.
        Parameters:
        name - Atomic stamped name.
        initVal - Initial value for atomic stamped. Ignored if create flag is false.
        initStamp - Initial stamp for atomic stamped. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic stamped for the given name.
      • atomicStamped

        public <T,​S> IgniteAtomicStamped<T,​S> atomicStamped​(String name,
                                                                        AtomicConfiguration cfg,
                                                                        @Nullable
                                                                        T initVal,
                                                                        @Nullable
                                                                        S initStamp,
                                                                        boolean create)
                                                                 throws IgniteException
        Will get a atomic stamped from cache and create one if it has not been created yet and create flag is true.
        Specified by:
        atomicStamped in interface Ignite
        Type Parameters:
        T - Type of object referred to by this atomic.
        S - Type of stamp object.
        Parameters:
        name - Atomic stamped name.
        cfg - Configuration.
        initVal - Initial value for atomic stamped. Ignored if create flag is false.
        initStamp - Initial stamp for atomic stamped. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Atomic stamped for the given name.
        Throws:
        IgniteException - If atomic stamped could not be fetched or created.
      • countDownLatch

        @Nullable
        public @Nullable IgniteCountDownLatch countDownLatch​(String name,
                                                             int cnt,
                                                             boolean autoDel,
                                                             boolean create)
        Gets or creates count down latch. If count down latch is not found in cache and create flag is true, it is created using provided name and count parameter.
        Specified by:
        countDownLatch in interface Ignite
        Parameters:
        name - Name of the latch.
        cnt - Count for new latch creation. Ignored if create flag is false.
        autoDel - True to automatically delete latch from cache when its count reaches zero. Ignored if create flag is false.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Count down latch for the given name.
      • semaphore

        @Nullable
        public @Nullable IgniteSemaphore semaphore​(String name,
                                                   int cnt,
                                                   boolean failoverSafe,
                                                   boolean create)
        Gets or creates semaphore. If semaphore is not found in cache and create flag is true, it is created using provided name and count parameter.
        Specified by:
        semaphore in interface Ignite
        Parameters:
        name - Name of the semaphore.
        cnt - Count for new semaphore creation. Ignored if create flag is false.
        failoverSafe - True to create failover safe semaphore which means that if any node leaves topology permits already acquired by that node are silently released and become available for alive nodes to acquire. If flag is false then all threads waiting for available permits get interrupted.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        Semaphore for the given name.
      • reentrantLock

        @Nullable
        public @Nullable IgniteLock reentrantLock​(String name,
                                                  boolean failoverSafe,
                                                  boolean fair,
                                                  boolean create)
        Gets or creates reentrant lock. If reentrant lock is not found in cache and create flag is true, it is created using provided name.
        Specified by:
        reentrantLock in interface Ignite
        Parameters:
        name - Name of the lock.
        failoverSafe - True to create failover safe lock which means that if any node leaves topology, all locks already acquired by that node are silently released and become available for other nodes to acquire. If flag is false then all threads on other nodes waiting to acquire lock are interrupted.
        fair - If True, fair lock will be created.
        create - Boolean flag indicating whether data structure should be created if does not exist.
        Returns:
        ReentrantLock for the given name.
      • queue

        @Nullable
        public <T> @Nullable IgniteQueue<T> queue​(String name,
                                                  int cap,
                                                  CollectionConfiguration cfg)
        Will get a named queue from cache and create one if it has not been created yet and cfg is not null. If queue is present already, queue properties will not be changed. Use collocation for CacheMode.PARTITIONED caches if you have lots of relatively small queues as it will make fetching, querying, and iteration a lot faster. If you have few very large queues, then you should consider turning off collocation as they simply may not fit in a single node's memory.
        Specified by:
        queue in interface Ignite
        Type Parameters:
        T - Type of the elements in queue.
        Parameters:
        name - Name of queue.
        cap - Capacity of queue, 0 for unbounded queue. Ignored if cfg is null.
        cfg - Queue configuration if new queue should be created.
        Returns:
        Queue with given properties.
      • set

        @Nullable
        public <T> @Nullable IgniteSet<T> set​(String name,
                                              CollectionConfiguration cfg)
        Will get a named set from cache and create one if it has not been created yet and cfg is not null.
        Specified by:
        set in interface Ignite
        Type Parameters:
        T - Type of the elements in set.
        Parameters:
        name - Set name.
        cfg - Set configuration if new set should be created.
        Returns:
        Set with given properties.
      • affinity

        public <K> Affinity<K> affinity​(String cacheName)
        Gets affinity service to provide information about data partitioning and distribution.
        Specified by:
        affinity in interface Ignite
        Type Parameters:
        K - Cache key type.
        Parameters:
        cacheName - Cache name.
        Returns:
        Affinity.
      • active

        public boolean active()
        Checks Ignite grid is active or not active.
        Specified by:
        active in interface Ignite
        Returns:
        True if grid is active. False If grid is not active.
      • active

        public void active​(boolean active)
        Changes Ignite grid state to active or inactive.

        NOTE: Deactivation clears in-memory caches (without persistence) including the system caches.

        Specified by:
        active in interface Ignite
        Parameters:
        active - If True start activation process. If False start deactivation process.
      • checkIgnite

        protected void checkIgnite()
                            throws IllegalStateException
        Checks if this bean is valid.
        Throws:
        IllegalStateException - If bean is not valid, i.e. Ignite has already been stopped or has not yet been started.