public interface Ignite extends AutoCloseable
Ignite
through Ignition.ignite()
,
or for named grids you can use Ignition.ignite(String)
. Note that you
can have multiple instances of Ignite
running in the same VM by giving
each instance a different name.
Ignite provides the following functionality:
IgniteCluster
- clustering functionality.IgniteCache
- functionality for in-memory distributed cache, including SQL, TEXT, and Predicate-based queries.IgniteTransactions
- distributed ACID-compliant transactions.IgniteDataStreamer
- functionality for streaming large amounts of data into cache.IgniteCompute
- functionality for executing tasks and closures on all grid nodes (inherited form ClusterGroup
).IgniteServices
- distributed service grid functionality (e.g. singletons on the cluster).IgniteMessaging
- functionality for topic-based message exchange on all grid nodes (inherited form ClusterGroup
).IgniteEvents
- functionality for querying and listening to events on all grid nodes (inherited form ClusterGroup
).ExecutorService
- distributed thread pools.IgniteAtomicLong
- distributed atomic long.IgniteAtomicReference
- distributed atomic reference.IgniteAtomicSequence
- distributed atomic sequence.IgniteAtomicStamped
- distributed atomic stamped reference.IgniteCountDownLatch
- distributed count down latch.IgniteQueue
- distributed blocking queue.IgniteSet
- distributed concurrent set.IgniteScheduler
- functionality for scheduling jobs using UNIX Cron syntax.IgniteFileSystem
- functionality for distributed Hadoop-compliant in-memory file system and map-reduce.Modifier and Type | Method and Description |
---|---|
<K,V> void |
addCacheConfiguration(CacheConfiguration<K,V> cacheCfg)
Adds cache configuration template.
|
<K> Affinity<K> |
affinity(String cacheName)
Gets affinity service to provide information about data partitioning
and distribution.
|
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 . |
<T> IgniteAtomicReference<T> |
atomicReference(String name,
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 . |
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 . |
<T,S> IgniteAtomicStamped<T,S> |
atomicStamped(String name,
T initVal,
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 . |
IgniteBinary |
binary()
Gets an instance of
IgniteBinary interface. |
<K,V> IgniteCache<K,V> |
cache(String name)
Gets an instance of
IgniteCache API. |
Collection<String> |
cacheNames()
Gets the collection of names of currently available caches.
|
void |
close()
Closes
this instance of grid. |
IgniteCluster |
cluster()
Gets an instance of
IgniteCluster interface. |
IgniteCompute |
compute()
Gets
compute facade over all cluster nodes started in server mode. |
IgniteCompute |
compute(ClusterGroup grp)
Gets
compute facade over the specified cluster group. |
IgniteConfiguration |
configuration()
Gets the configuration of this grid instance.
|
IgniteCountDownLatch |
countDownLatch(String name,
int cnt,
boolean autoDel,
boolean create)
Gets or creates count down latch.
|
<K,V> IgniteCache<K,V> |
createCache(CacheConfiguration<K,V> cacheCfg)
Dynamically starts new cache with the given cache configuration.
|
<K,V> IgniteCache<K,V> |
createCache(CacheConfiguration<K,V> cacheCfg,
NearCacheConfiguration<K,V> nearCfg)
Dynamically starts new cache with the given cache configuration.
|
<K,V> IgniteCache<K,V> |
createCache(String cacheName)
Dynamically starts new cache using template configuration.
|
<K,V> IgniteCache<K,V> |
createNearCache(String cacheName,
NearCacheConfiguration<K,V> nearCfg)
Starts a near cache on local node if cache was previously started with one of the
createCache(CacheConfiguration) or createCache(CacheConfiguration, NearCacheConfiguration)
methods. |
<K,V> IgniteDataStreamer<K,V> |
dataStreamer(String cacheName)
Gets a new instance of data streamer associated with given cache name.
|
void |
destroyCache(String cacheName)
Stops dynamically started cache.
|
IgniteEvents |
events()
Gets
events facade over all cluster nodes. |
IgniteEvents |
events(ClusterGroup grp)
Gets
events facade over nodes within the cluster group. |
ExecutorService |
executorService()
Creates a new
ExecutorService which will execute all submitted
Callable and Runnable jobs on all cluster nodes. |
ExecutorService |
executorService(ClusterGroup grp)
Creates a new
ExecutorService which will execute all submitted
Callable and Runnable jobs on nodes in the specified cluster group. |
IgniteFileSystem |
fileSystem(String name)
Gets an instance of IGFS (Ignite In-Memory File System).
|
Collection<IgniteFileSystem> |
fileSystems()
Gets all instances of IGFS (Ignite In-Memory File System).
|
<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.
|
<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.
|
<K,V> IgniteCache<K,V> |
getOrCreateCache(String cacheName)
Gets existing cache with the given name or creates new one using template configuration.
|
<K,V> IgniteCache<K,V> |
getOrCreateNearCache(String cacheName,
NearCacheConfiguration<K,V> nearCfg)
Gets existing near cache with the given name or creates a new one.
|
IgniteLogger |
log()
Gets grid's logger.
|
IgniteMessaging |
message()
Gets
messaging facade over all cluster nodes. |
IgniteMessaging |
message(ClusterGroup grp)
Gets
messaging facade over nodes within the cluster group. |
String |
name()
Gets the name of the grid this grid instance (and correspondingly its local node) belongs to.
|
<T extends IgnitePlugin> |
plugin(String name)
Gets an instance of deployed Ignite plugin.
|
<T> 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 . |
IgniteScheduler |
scheduler()
Gets an instance of cron-based scheduler.
|
IgniteSemaphore |
semaphore(String name,
int cnt,
boolean failoverSafe,
boolean create)
Gets or creates semaphore.
|
IgniteServices |
services()
Gets
services facade over all cluster nodes started in server mode. |
IgniteServices |
services(ClusterGroup grp)
Gets
services facade over nodes within the cluster group. |
<T> 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 . |
IgniteTransactions |
transactions()
Gets grid transactions facade.
|
IgniteProductVersion |
version()
Gets Ignite version.
|
String name()
If default grid instance is used, then
null
is returned. Refer to Ignition
documentation
for information on how to start named grids.
null
for default grid.IgniteLogger log()
IgniteConfiguration configuration()
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.
IgniteCluster cluster()
IgniteCluster
interface.IgniteCluster
interface.IgniteCompute compute()
compute
facade over all cluster nodes started in server mode.IgniteCompute compute(ClusterGroup grp)
compute
facade over the specified cluster group. All operations
on the returned IgniteCompute
instance will only include nodes from
this cluster group.grp
- Cluster group.IgniteMessaging message()
messaging
facade over all cluster nodes.IgniteMessaging message(ClusterGroup grp)
messaging
facade over nodes within the cluster group. All operations
on the returned IgniteMessaging
instance will only include nodes from
the specified cluster group.grp
- Cluster group.IgniteEvents events()
events
facade over all cluster nodes.IgniteEvents events(ClusterGroup grp)
events
facade over nodes within the cluster group. All operations
on the returned IgniteEvents
instance will only include nodes from
the specified cluster group.grp
- Cluster group.IgniteServices services()
services
facade over all cluster nodes started in server mode.IgniteServices services(ClusterGroup grp)
services
facade over nodes within the cluster group. All operations
on the returned IgniteMessaging
instance will only include nodes from
the specified cluster group.grp
- Cluster group.Services
functionality over given cluster group.ExecutorService executorService()
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.ExecutorService
.ExecutorService executorService(ClusterGroup grp)
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.grp
- Cluster group.ExecutorService
which will execute jobs on nodes in given cluster group.IgniteProductVersion version()
IgniteScheduler scheduler()
<K,V> IgniteCache<K,V> createCache(CacheConfiguration<K,V> cacheCfg)
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.
cacheCfg
- Cache configuration to use.<K,V> IgniteCache<K,V> createCache(String cacheName)
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.
cacheName
- Cache name.<K,V> IgniteCache<K,V> getOrCreateCache(CacheConfiguration<K,V> cacheCfg)
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.
cacheCfg
- Cache configuration to use.<K,V> IgniteCache<K,V> getOrCreateCache(String cacheName)
cacheName
- Cache name.<K,V> void addCacheConfiguration(CacheConfiguration<K,V> cacheCfg)
cacheCfg
- Cache configuration template.<K,V> IgniteCache<K,V> createCache(CacheConfiguration<K,V> cacheCfg, NearCacheConfiguration<K,V> nearCfg)
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.
cacheCfg
- Cache configuration to use.nearCfg
- Near cache configuration to use on local node in case it is not an
affinity node.<K,V> IgniteCache<K,V> getOrCreateCache(CacheConfiguration<K,V> cacheCfg, NearCacheConfiguration<K,V> nearCfg)
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.
cacheCfg
- Cache configuration.nearCfg
- Near cache configuration for client.IgniteCache
instance.<K,V> IgniteCache<K,V> createNearCache(@Nullable String cacheName, NearCacheConfiguration<K,V> nearCfg)
createCache(CacheConfiguration)
or createCache(CacheConfiguration, NearCacheConfiguration)
methods.cacheName
- Cache name.nearCfg
- Near cache configuration.<K,V> IgniteCache<K,V> getOrCreateNearCache(@Nullable String cacheName, NearCacheConfiguration<K,V> nearCfg)
cacheName
- Cache name.nearCfg
- Near configuration.IgniteCache
instance.void destroyCache(String cacheName)
cacheName
- Cache name to stop.<K,V> IgniteCache<K,V> cache(@Nullable String name)
IgniteCache
API. IgniteCache
is a fully-compatible
implementation of JCache (JSR 107)
specification.name
- Cache name.Collection<String> cacheNames()
null
as a value for a cache name. Refer to CacheConfiguration.getName()
for more info.IgniteTransactions transactions()
<K,V> IgniteDataStreamer<K,V> dataStreamer(@Nullable String cacheName)
IgniteDataStreamer
documentation.cacheName
- Cache name (null
for default cache).IgniteFileSystem fileSystem(String name)
IllegalArgumentException
will be thrown.
IGFS is fully compliant with Hadoop FileSystem
APIs and can
be plugged into Hadoop installations. For more information refer to
documentation on Hadoop integration shipped with Ignite.
name
- IGFS name.IllegalArgumentException
- If IGFS with such name is not configured.Collection<IgniteFileSystem> fileSystems()
IgniteAtomicSequence atomicSequence(String name, long initVal, boolean create) throws IgniteException
create
flag
is true
.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.IgniteException
- If sequence could not be fetched or created.IgniteAtomicLong atomicLong(String name, long initVal, boolean create) throws IgniteException
create
flag
is true
.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.IgniteException
- If atomic long could not be fetched or created.<T> IgniteAtomicReference<T> atomicReference(String name, @Nullable T initVal, boolean create) throws IgniteException
create
flag
is true
.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.IgniteException
- If atomic reference could not be fetched or created.<T,S> IgniteAtomicStamped<T,S> atomicStamped(String name, @Nullable T initVal, @Nullable S initStamp, boolean create) throws IgniteException
create
flag
is true
.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.IgniteException
- If atomic stamped could not be fetched or created.IgniteCountDownLatch countDownLatch(String name, int cnt, boolean autoDel, boolean create) throws IgniteException
create
flag
is true
, it is created using provided name and count parameter.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.IgniteException
- If latch could not be fetched or created.IgniteSemaphore semaphore(String name, int cnt, boolean failoverSafe, boolean create) throws IgniteException
create
flag
is true
, it is created using provided name and count parameter.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.IgniteException
- If semaphore could not be fetched or created.<T> IgniteQueue<T> queue(String name, int cap, @Nullable CollectionConfiguration cfg) throws IgniteException
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.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.IgniteException
- If queue could not be fetched or created.<T> IgniteSet<T> set(String name, @Nullable CollectionConfiguration cfg) throws IgniteException
cfg
is not
null
.name
- Set name.cfg
- Set configuration if new set should be created.IgniteException
- If set could not be fetched or created.<T extends IgnitePlugin> T plugin(String name) throws PluginNotFoundException
T
- Plugin type.name
- Plugin name.PluginNotFoundException
- If plugin for the given name was not found.IgniteBinary binary()
IgniteBinary
interface.IgniteBinary
interface.void close() throws IgniteException
this
instance of grid. This method is identical to calling
G.stop(gridName, true)
.
The method is invoked automatically on objects managed by the
try-with-resources
statement.
close
in interface AutoCloseable
IgniteException
- If failed to stop grid.
Follow @ApacheIgnite
Ignite Fabric : ver. 1.5.0.final Release Date : December 29 2015