public class IgniteKernal extends Object implements IgniteEx, IgniteMXBean, Externalizable
Modifier and Type | Field and Description |
---|---|
static String |
SITE
Ignite site that is shown in log messages.
|
Constructor and Description |
---|
IgniteKernal()
No-arg constructor is required by externalization.
|
IgniteKernal(GridSpringResourceContext rsrcCtx) |
Modifier and Type | Method and Description |
---|---|
boolean |
active()
Checks Ignite grid is active or not active.
|
void |
active(boolean active)
Changes Ignite grid state to active or inactive.
|
<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.
|
boolean |
allEventsUserRecordable(int[] types)
Checks whether all provided events are user-recordable.
|
IgniteAtomicLong |
atomicLong(String name,
AtomicConfiguration cfg,
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 . |
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,
AtomicConfiguration cfg,
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 . |
<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,
AtomicConfiguration cfg,
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 . |
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,
AtomicConfiguration cfg,
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 . |
<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.
|
Collection<IgniteCacheProxy<?,?>> |
caches() |
Collection<IgniteInternalCache<?,?>> |
cachesx(IgnitePredicate<? super IgniteInternalCache<?,?>>[] p)
Gets configured cache instance that satisfy all provided predicates including non-public caches.
|
<K,V> IgniteInternalCache<K,V> |
cachex(String name)
Gets the cache instance for the given name if one is configured or
null otherwise returning even non-public caches.
|
void |
close()
Closes
this instance of grid. |
IgniteClusterEx |
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 Ignite instance.
|
GridKernalContext |
context()
It's intended for use by internal marshalling implementation only.
|
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.
|
Collection<IgniteCache> |
createCaches(Collection<CacheConfiguration> cacheCfgs)
Dynamically starts new caches with the given cache configurations.
|
<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
Ignite.createCache(CacheConfiguration) or Ignite.createCache(CacheConfiguration, NearCacheConfiguration)
methods. |
Collection<DataRegionMetrics> |
dataRegionMetrics()
Returns a collection of
DataRegionMetrics that reflects page memory usage on this Apache Ignite node
instance. |
DataRegionMetrics |
dataRegionMetrics(String memPlcName)
Returns the latest
DataRegionMetrics snapshot for the memory region of the given name. |
DataStorageMetrics |
dataStorageMetrics() |
<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.
|
boolean |
destroyCache0(String cacheName,
boolean sql)
Stops dynamically started cache.
|
IgniteInternalFuture<Boolean> |
destroyCacheAsync(String cacheName,
boolean sql,
boolean checkThreadTx) |
void |
destroyCaches(Collection<String> cacheNames)
Stops dynamically started caches.
|
IgniteInternalFuture<?> |
destroyCachesAsync(Collection<String> cacheNames,
boolean checkThreadTx) |
void |
dumpDebugInfo()
Dumps debug information for the current node.
|
IgniteEvents |
events()
Gets
events facade over all cluster nodes. |
IgniteEvents |
events(ClusterGroup grp)
Gets
events facade over nodes within the cluster group. |
boolean |
eventUserRecordable(int type)
Checks if the event type is user-recordable.
|
String |
executeTask(String taskName,
String arg)
A shortcut method that executes given task assuming single
java.lang.String argument
and java.lang.String return type. |
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> IgniteInternalCache<K,V> |
getCache(String name) |
String |
getCheckpointSpiFormatted()
Gets a formatted instance of configured checkpoint SPI implementation.
|
String |
getCollisionSpiFormatted()
Gets a formatted instance of configured collision SPI implementations.
|
String |
getCommunicationSpiFormatted()
Gets a formatted instance of fully configured SPI communication implementation.
|
String |
getCopyright()
Gets copyright statement for Ignite product.
|
String |
getDeploymentSpiFormatted()
Gets a formatted instance of fully configured deployment SPI implementation.
|
String |
getDiscoverySpiFormatted()
Gets a formatted instance of configured discovery SPI implementation.
|
String |
getEventStorageSpiFormatted()
Gets a formatted instance of fully configured event SPI implementation.
|
String |
getExecutorServiceFormatted()
Gets a formatted instance of fully configured thread pool that is used in grid.
|
String |
getFailoverSpiFormatted()
Gets a formatted instance of fully configured failover SPI implementations.
|
String |
getFullVersion()
Gets string presentation of the version.
|
String |
getGridLoggerFormatted()
Gets a formatted instance of logger that is in grid.
|
String |
getIgniteHome()
Gets Ignite installation home folder.
|
String |
getInstanceName()
Gets optional kernal instance name.
|
String |
getJdkInformation()
Gets JDK information.
|
List<String> |
getLifecycleBeansFormatted()
Gets
toString() representation of of lifecycle beans configured
with Ignite. |
String |
getLoadBalancingSpiFormatted()
Gets a formatted instance of fully configured load balancing SPI implementations.
|
UUID |
getLocalNodeId()
Unique identifier for this node within grid.
|
String |
getMBeanServerFormatted()
Gets a formatted instance of MBean server instance.
|
<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> IgniteBiTuple<IgniteCache<K,V>,Boolean> |
getOrCreateCache0(CacheConfiguration<K,V> cacheCfg,
boolean sql)
Gets existing cache with the given name or creates new one with the given configuration.
|
IgniteInternalFuture<?> |
getOrCreateCacheAsync(String cacheName,
boolean checkThreadTx) |
Collection<IgniteCache> |
getOrCreateCaches(Collection<CacheConfiguration> cacheCfgs)
Gets existing caches with the given name or created one with the given 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.
|
String |
getOsInformation()
Gets OS information.
|
String |
getOsUser()
Gets OS user.
|
long |
getStartTimestamp()
Get start timestamp of the kernal.
|
String |
getStartTimestampFormatted()
Gets string presentation of the kernal start timestamp.
|
long |
getUpTime()
Gets up-time of the kernal.
|
String |
getUpTimeFormatted()
Gets string presentation of up-time for the kernal.
|
List<String> |
getUserAttributesFormatted()
Gets a list of formatted user-defined attributes added to this node.
|
String |
getVmName()
Gets VM name.
|
Hadoop |
hadoop()
Get Hadoop facade.
|
IgniteFileSystem |
igfsx(String name)
Get IGFS instance returning null if it doesn't exist.
|
<K,V> GridCacheAdapter<K,V> |
internalCache(String name)
USED ONLY FOR TESTING.
|
boolean |
isJmxRemoteEnabled()
Whether or not remote JMX management is enabled for this node.
|
boolean |
isPeerClassLoadingEnabled()
Returns
true if peer class loading is enabled, false
otherwise. |
boolean |
isRebalanceEnabled()
Get rebalance enabled flag.
|
boolean |
isRestartEnabled()
Whether or not node restart is enabled.
|
boolean |
isStopping() |
String |
latestVersion()
Get latest version in string form.
|
ClusterNode |
localNode()
Gets local grid node.
|
IgniteLogger |
log()
Gets grid's logger.
|
Collection<MemoryMetrics> |
memoryMetrics() |
MemoryMetrics |
memoryMetrics(String memPlcName) |
IgniteMessaging |
message()
Gets
messaging facade over all cluster nodes. |
IgniteMessaging |
message(ClusterGroup prj)
Gets
messaging facade over nodes within the cluster group. |
String |
name()
Gets the name of the Ignite instance.
|
void |
onDisconnected() |
void |
onReconnected(boolean clusterRestarted) |
PersistenceMetrics |
persistentStoreMetrics() |
boolean |
pingNode(String nodeId)
Pings node with given node ID to see whether it is alive.
|
boolean |
pingNodeByAddress(String host)
Pings node with given host name to see if it is alive.
|
<T extends IgnitePlugin> |
plugin(String name)
Gets an instance of deployed Ignite plugin.
|
void |
printLastErrors()
Prints errors.
|
<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 . |
void |
readExternal(ObjectInput in) |
protected Object |
readResolve() |
void |
rebalanceEnabled(boolean rebalanceEnabled)
Set rebalance enable flag on node.
|
IgniteLock |
reentrantLock(String name,
boolean failoverSafe,
boolean fair,
boolean create)
Gets or creates reentrant lock.
|
boolean |
removeCheckpoint(String key)
This method allows manually remove the checkpoint with given
key . |
void |
resetLostPartitions(Collection<String> cacheNames)
Clears partition's lost state and moves caches to a normal mode.
|
void |
runIoTest(long warmup,
long duration,
int threads,
long maxLatency,
int rangesCnt,
int payLoadSize,
boolean procFromNioThread)
Runs IO latency test against all remote server nodes in cluster.
|
IgniteScheduler |
scheduler()
Gets an instance of cron-based scheduler.
|
IgniteSemaphore |
semaphore(String name,
int cnt,
boolean failoverSafe,
boolean create)
Gets or creates semaphore.
|
IgniteInternalFuture |
sendIoTest(ClusterNode node,
byte[] payload,
boolean procFromNioThread) |
IgniteInternalFuture |
sendIoTest(List<ClusterNode> nodes,
byte[] payload,
boolean procFromNioThread) |
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 . |
void |
start(IgniteConfiguration cfg,
ExecutorService utilityCachePool,
ExecutorService execSvc,
ExecutorService svcExecSvc,
ExecutorService sysExecSvc,
StripedExecutor stripedExecSvc,
ExecutorService p2pExecSvc,
ExecutorService mgmtExecSvc,
ExecutorService igfsExecSvc,
StripedExecutor dataStreamExecSvc,
ExecutorService restExecSvc,
ExecutorService affExecSvc,
ExecutorService idxExecSvc,
IgniteStripedThreadPoolExecutor callbackExecSvc,
ExecutorService qryExecSvc,
ExecutorService schemaExecSvc,
Map<String,? extends ExecutorService> customExecSvcs,
GridAbsClosure errHnd) |
void |
stop(boolean cancel)
Stops grid instance.
|
String |
toString() |
IgniteTransactions |
transactions()
Gets grid transactions facade.
|
void |
undeployTaskFromGrid(String taskName)
Makes the best attempt to undeploy a task from the whole grid.
|
<K extends GridCacheUtilityKey,V> |
utilityCache()
Gets utility cache.
|
IgniteProductVersion |
version()
Gets Ignite version.
|
void |
writeExternal(ObjectOutput out) |
public static final String SITE
public IgniteKernal()
public IgniteKernal(@Nullable GridSpringResourceContext rsrcCtx)
rsrcCtx
- Optional Spring application context.public IgniteClusterEx cluster()
IgniteCluster
interface.cluster
in interface Ignite
cluster
in interface IgniteEx
IgniteCluster
interface.public ClusterNode localNode()
public IgniteCompute compute()
compute
facade over all cluster nodes started in server mode.public IgniteMessaging message()
messaging
facade over all cluster nodes.public IgniteEvents events()
events
facade over all cluster nodes.public IgniteServices services()
services
facade over all cluster nodes started in server mode.public 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
in interface Ignite
ExecutorService
.public final 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.public final IgniteMessaging message(ClusterGroup prj)
messaging
facade over nodes within the cluster group. All operations
on the returned IgniteMessaging
instance will only include nodes from
the specified cluster group.public final 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.public 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.public 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.executorService
in interface Ignite
grp
- Cluster group.ExecutorService
which will execute jobs on nodes in given cluster group.public String name()
If default Ignite instance is used, then null
is returned.
Refer to Ignition
documentation for information on how to start named ignite Instances.
public String getCopyright()
getCopyright
in interface IgniteMXBean
public long getStartTimestamp()
getStartTimestamp
in interface IgniteMXBean
public String getStartTimestampFormatted()
getStartTimestampFormatted
in interface IgniteMXBean
public boolean isRebalanceEnabled()
isRebalanceEnabled
in interface IgniteEx
isRebalanceEnabled
in interface IgniteMXBean
True
if rebalance enabled on node, False
otherwise.public void rebalanceEnabled(boolean rebalanceEnabled)
rebalanceEnabled
in interface IgniteEx
rebalanceEnabled
in interface IgniteMXBean
rebalanceEnabled
- rebalance enabled flag.public long getUpTime()
getUpTime
in interface IgniteMXBean
public String getUpTimeFormatted()
getUpTimeFormatted
in interface IgniteMXBean
public String getFullVersion()
getFullVersion
in interface IgniteMXBean
public String getCheckpointSpiFormatted()
getCheckpointSpiFormatted
in interface IgniteMXBean
public String getCommunicationSpiFormatted()
getCommunicationSpiFormatted
in interface IgniteMXBean
public String getDeploymentSpiFormatted()
getDeploymentSpiFormatted
in interface IgniteMXBean
public String getDiscoverySpiFormatted()
getDiscoverySpiFormatted
in interface IgniteMXBean
public String getEventStorageSpiFormatted()
getEventStorageSpiFormatted
in interface IgniteMXBean
public String getCollisionSpiFormatted()
getCollisionSpiFormatted
in interface IgniteMXBean
public String getFailoverSpiFormatted()
getFailoverSpiFormatted
in interface IgniteMXBean
public String getLoadBalancingSpiFormatted()
getLoadBalancingSpiFormatted
in interface IgniteMXBean
public String getOsInformation()
getOsInformation
in interface IgniteMXBean
public String getJdkInformation()
getJdkInformation
in interface IgniteMXBean
public String getOsUser()
getOsUser
in interface IgniteMXBean
public void printLastErrors()
printLastErrors
in interface IgniteMXBean
public String getVmName()
getVmName
in interface IgniteMXBean
public String getInstanceName()
null
.getInstanceName
in interface IgniteMXBean
public String getExecutorServiceFormatted()
getExecutorServiceFormatted
in interface IgniteMXBean
public String getIgniteHome()
getIgniteHome
in interface IgniteMXBean
public String getGridLoggerFormatted()
getGridLoggerFormatted
in interface IgniteMXBean
public String getMBeanServerFormatted()
getMBeanServerFormatted
in interface IgniteMXBean
public UUID getLocalNodeId()
getLocalNodeId
in interface IgniteMXBean
public List<String> getUserAttributesFormatted()
Note that grid will add all System properties and environment properties to grid node attributes also. SPIs may also add node attributes that are used for SPI implementation.
getUserAttributesFormatted
in interface IgniteMXBean
public boolean isPeerClassLoadingEnabled()
true
if peer class loading is enabled, false
otherwise. Default value is true
.
When peer class loading is enabled and task is not deployed on local node, local node will try to load classes from the node that initiated task execution. This way, a task can be physically deployed only on one node and then internally penetrate to all other nodes.
isPeerClassLoadingEnabled
in interface IgniteMXBean
true
if peer class loading is enabled, false
otherwise.public List<String> getLifecycleBeansFormatted()
toString()
representation of of lifecycle beans configured
with Ignite.getLifecycleBeansFormatted
in interface IgniteMXBean
toString()
representation of all lifecycle beans configured
with Ignite.public void start(IgniteConfiguration cfg, ExecutorService utilityCachePool, ExecutorService execSvc, ExecutorService svcExecSvc, ExecutorService sysExecSvc, StripedExecutor stripedExecSvc, ExecutorService p2pExecSvc, ExecutorService mgmtExecSvc, ExecutorService igfsExecSvc, StripedExecutor dataStreamExecSvc, ExecutorService restExecSvc, ExecutorService affExecSvc, @Nullable ExecutorService idxExecSvc, IgniteStripedThreadPoolExecutor callbackExecSvc, ExecutorService qryExecSvc, ExecutorService schemaExecSvc, Map<String,? extends ExecutorService> customExecSvcs, GridAbsClosure errHnd) throws IgniteCheckedException
cfg
- Configuration to use.utilityCachePool
- Utility cache pool.execSvc
- Executor service.sysExecSvc
- System executor service.stripedExecSvc
- Striped executor.p2pExecSvc
- P2P executor service.mgmtExecSvc
- Management executor service.igfsExecSvc
- IGFS executor service.dataStreamExecSvc
- data stream executor service.restExecSvc
- Reset executor service.affExecSvc
- Affinity executor service.idxExecSvc
- Indexing executor service.callbackExecSvc
- Callback executor service.qryExecSvc
- Query executor service.schemaExecSvc
- Schema executor service.customExecSvcs
- Custom named executors.errHnd
- Error handler to use for notification about startup problems.IgniteCheckedException
- Thrown in case of any errors.public void stop(boolean cancel)
cancel
- Whether or not to cancel running jobs.public boolean isStopping()
True
if node started shutdown sequence.public <K,V> GridCacheAdapter<K,V> internalCache(String name)
K
- Key type.V
- Value type.name
- Cache name.public GridKernalContext context()
public boolean isJmxRemoteEnabled()
com.sun.management.jmxremote
isJmxRemoteEnabled
in interface IgniteEx
True
if remote JMX management is enabled - false
otherwise.public boolean isRestartEnabled()
bin/ignite.{sh|bat}
script using -r
argument. Node can be
programmatically restarted using Ignition.restart(boolean)
} method.isRestartEnabled
in interface IgniteEx
True
if restart mode is enabled, false
otherwise.Ignition.restart(boolean)
public 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.
configuration
in interface Ignite
public IgniteLogger log()
public boolean removeCheckpoint(String key)
key
.removeCheckpoint
in interface IgniteMXBean
key
- Checkpoint key.true
if specified checkpoint was indeed removed, false
otherwise.public boolean pingNode(String nodeId)
pingNode
in interface IgniteMXBean
nodeId
- String presentation of node ID. See UUID.fromString(String)
for
details on string formatting.public void undeployTaskFromGrid(String taskName) throws JMException
Note that Ignite maintains internal versions for grid tasks in case of redeployment. This method will attempt to undeploy all versions on the grid task with given name.
undeployTaskFromGrid
in interface IgniteMXBean
taskName
- Name of the task to undeploy. If task class has ComputeTaskName
annotation,
then task was deployed under a name specified within annotation. Otherwise, full
class name should be used as task's name.JMException
- Thrown if undeploy failed.public String executeTask(String taskName, String arg) throws JMException
java.lang.String
argument
and java.lang.String
return type.executeTask
in interface IgniteMXBean
taskName
- Name of the task to execute.arg
- Single task execution argument (can be null
).java.lang.String
type).JMException
- Thrown in case when execution failed.public boolean pingNodeByAddress(String host)
pingNodeByAddress
in interface IgniteMXBean
host
- Host name or IP address of the node to ping.public boolean eventUserRecordable(int type)
eventUserRecordable
in interface IgniteEx
type
- Event type to check.true
if passed event should be recorded, false
- otherwise.public boolean allEventsUserRecordable(int[] types)
Note that this method supports only predefined Ignite events.
allEventsUserRecordable
in interface IgniteEx
types
- Event types.public IgniteTransactions transactions()
transactions
in interface Ignite
public <K,V> IgniteInternalCache<K,V> getCache(String name)
name
- Cache name.public <K,V> IgniteCache<K,V> cache(String name)
IgniteCache
API. IgniteCache
is a fully-compatible
implementation of JCache (JSR 107)
specification.public <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.
createCache
in interface Ignite
cacheCfg
- Cache configuration to use.public Collection<IgniteCache> createCaches(Collection<CacheConfiguration> cacheCfgs)
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.
createCaches
in interface Ignite
cacheCfgs
- Collection of cache configuration to use.public <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.
createCache
in interface Ignite
cacheName
- Cache name.public <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.
getOrCreateCache
in interface Ignite
cacheCfg
- Cache configuration to use.public <K,V> IgniteBiTuple<IgniteCache<K,V>,Boolean> getOrCreateCache0(CacheConfiguration<K,V> cacheCfg, boolean sql)
If a cache with the same name already exists, this method will not check that the given configuration matches the configuration of existing cache and will return an instance of the existing cache.
getOrCreateCache0
in interface IgniteEx
cacheCfg
- Cache configuration to use.sql
- true
if this call is triggered by SQL command CREATE TABLE
, false
otherwise.true
if cache was newly crated, false
otherwise]public Collection<IgniteCache> getOrCreateCaches(Collection<CacheConfiguration> cacheCfgs)
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.
getOrCreateCaches
in interface Ignite
cacheCfgs
- Collection of cache configuration to use.public <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.
createCache
in interface Ignite
cacheCfg
- Cache configuration to use.nearCfg
- Near cache configuration to use on local node in case it is not an
affinity node.public <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.
getOrCreateCache
in interface Ignite
cacheCfg
- Cache configuration.nearCfg
- Near cache configuration for client.IgniteCache
instance.public <K,V> IgniteCache<K,V> createNearCache(String cacheName, NearCacheConfiguration<K,V> nearCfg)
Ignite.createCache(CacheConfiguration)
or Ignite.createCache(CacheConfiguration, NearCacheConfiguration)
methods.createNearCache
in interface Ignite
cacheName
- Cache name.nearCfg
- Near cache configuration.public <K,V> IgniteCache<K,V> getOrCreateNearCache(String cacheName, NearCacheConfiguration<K,V> nearCfg)
getOrCreateNearCache
in interface Ignite
cacheName
- Cache name.nearCfg
- Near configuration.IgniteCache
instance.public void destroyCache(String cacheName)
destroyCache
in interface Ignite
cacheName
- Cache name to stop.public boolean destroyCache0(String cacheName, boolean sql) throws javax.cache.CacheException
destroyCache0
in interface IgniteEx
cacheName
- Cache name to stop.sql
- true
if only cache created with SQL command CREATE TABLE
should be affected,
false
otherwise.true
if cache has been stopped as the result of this call, false
otherwise.javax.cache.CacheException
- If error occurs.public void destroyCaches(Collection<String> cacheNames)
destroyCaches
in interface Ignite
cacheNames
- Collection of cache names to stop.public IgniteInternalFuture<Boolean> destroyCacheAsync(String cacheName, boolean sql, boolean checkThreadTx)
cacheName
- Cache name.sql
- If the cache needs to be destroyed only if it was created by SQL CREATE TABLE
command.checkThreadTx
- If true
checks that current thread does not have active transactions.public IgniteInternalFuture<?> destroyCachesAsync(Collection<String> cacheNames, boolean checkThreadTx)
cacheNames
- Collection of cache names.checkThreadTx
- If true
checks that current thread does not have active transactions.public <K,V> IgniteCache<K,V> getOrCreateCache(String cacheName)
getOrCreateCache
in interface Ignite
cacheName
- Cache name.public IgniteInternalFuture<?> getOrCreateCacheAsync(String cacheName, boolean checkThreadTx)
cacheName
- Cache name.checkThreadTx
- If true
checks that current thread does not have active transactions.public <K,V> void addCacheConfiguration(CacheConfiguration<K,V> cacheCfg)
addCacheConfiguration
in interface Ignite
cacheCfg
- Cache configuration template.public Collection<IgniteCacheProxy<?,?>> caches()
public Collection<String> cacheNames()
null
as a value for a cache name. Refer to CacheConfiguration.getName()
for more info.cacheNames
in interface Ignite
public <K extends GridCacheUtilityKey,V> IgniteInternalCache<K,V> utilityCache()
utilityCache
in interface IgniteEx
public <K,V> IgniteInternalCache<K,V> cachex(String name)
public Collection<IgniteInternalCache<?,?>> cachesx(IgnitePredicate<? super IgniteInternalCache<?,?>>[] p)
public <K,V> IgniteDataStreamer<K,V> dataStreamer(String cacheName)
IgniteDataStreamer
documentation.dataStreamer
in interface Ignite
cacheName
- Cache name.public 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.
fileSystem
in interface Ignite
name
- IGFS name.@Nullable public IgniteFileSystem igfsx(String name)
public Collection<IgniteFileSystem> fileSystems()
fileSystems
in interface Ignite
public Hadoop hadoop()
public <T extends IgnitePlugin> T plugin(String name) throws PluginNotFoundException
plugin
in interface Ignite
T
- Plugin type.name
- Plugin name.PluginNotFoundException
- If plugin for the given name was not found.public IgniteBinary binary()
IgniteBinary
interface.binary
in interface Ignite
IgniteBinary
interface.public IgniteProductVersion version()
public String latestVersion()
latestVersion
in interface IgniteEx
public IgniteScheduler scheduler()
public void close() throws IgniteException
this
instance of grid. This method is identical to calling
G.stop(igniteInstanceName, true)
.
The method is invoked automatically on objects managed by the
try-with-resources
statement.
close
in interface AutoCloseable
close
in interface Ignite
IgniteException
- If failed to stop grid.public <K> Affinity<K> affinity(String cacheName)
Ignite
public boolean active()
active
in interface Ignite
active
in interface IgniteMXBean
True
if grid is active. False
If grid is not active.public void active(boolean active)
active
in interface Ignite
active
in interface IgniteMXBean
active
- If True
start activation process. If False
start deactivation process.public void resetLostPartitions(Collection<String> cacheNames)
resetLostPartitions
in interface Ignite
public Collection<DataRegionMetrics> dataRegionMetrics()
DataRegionMetrics
that reflects page memory usage on this Apache Ignite node
instance.
Returns the collection that contains the latest snapshots for each memory region
configured with configuration
on this Ignite node instance.dataRegionMetrics
in interface Ignite
DataRegionMetrics
snapshots.@Nullable public DataRegionMetrics dataRegionMetrics(String memPlcName)
DataRegionMetrics
snapshot for the memory region of the given name.
To get the metrics for the default memory region use
DataStorageConfiguration.DFLT_DATA_REG_DEFAULT_NAME
as the name
or a custom name if the default memory region has been renamed.dataRegionMetrics
in interface Ignite
memPlcName
- Name of memory region configured with config
.DataRegionMetrics
snapshot or null
if no memory region is configured under specified name.public DataStorageMetrics dataStorageMetrics()
dataStorageMetrics
in interface Ignite
DataStorageMetrics
snapshot.public Collection<MemoryMetrics> memoryMetrics()
memoryMetrics
in interface Ignite
MemoryMetrics
snapshots.@Nullable public MemoryMetrics memoryMetrics(String memPlcName)
memoryMetrics
in interface Ignite
MemoryMetrics
snapshot or null
if no memory region is configured under specified name.public PersistenceMetrics persistentStoreMetrics()
persistentStoreMetrics
in interface Ignite
PersistenceMetrics
snapshot.@Nullable public IgniteAtomicSequence atomicSequence(String name, long initVal, boolean create)
create
flag
is true
. It will use configuration from IgniteConfiguration.getAtomicConfiguration()
.atomicSequence
in interface Ignite
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.@Nullable public IgniteAtomicSequence atomicSequence(String name, AtomicConfiguration cfg, long initVal, boolean create) throws IgniteException
create
flag
is true
.atomicSequence
in interface Ignite
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.IgniteException
- If sequence could not be fetched or created.@Nullable public IgniteAtomicLong atomicLong(String name, long initVal, boolean create)
create
flag
is true
.atomicLong
in interface Ignite
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.@Nullable public IgniteAtomicLong atomicLong(String name, AtomicConfiguration cfg, long initVal, boolean create) throws IgniteException
create
flag
is true
.atomicLong
in interface Ignite
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.IgniteException
- If atomic long could not be fetched or created.@Nullable public <T> IgniteAtomicReference<T> atomicReference(String name, @Nullable T initVal, boolean create)
create
flag
is true
. It will use configuration from IgniteConfiguration.getAtomicConfiguration()
.atomicReference
in interface Ignite
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.public <T> IgniteAtomicReference<T> atomicReference(String name, AtomicConfiguration cfg, @Nullable T initVal, boolean create) throws IgniteException
create
flag
is true
.atomicReference
in interface Ignite
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.IgniteException
- If atomic reference could not be fetched or created.@Nullable public <T,S> IgniteAtomicStamped<T,S> atomicStamped(String name, @Nullable T initVal, @Nullable S initStamp, boolean create)
create
flag
is true
.atomicStamped
in interface Ignite
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.public <T,S> IgniteAtomicStamped<T,S> atomicStamped(String name, AtomicConfiguration cfg, @Nullable T initVal, @Nullable S initStamp, boolean create) throws IgniteException
create
flag
is true
.atomicStamped
in interface Ignite
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.IgniteException
- If atomic stamped could not be fetched or created.@Nullable public IgniteCountDownLatch countDownLatch(String name, int cnt, boolean autoDel, boolean create)
create
flag
is true
, it is created using provided name and count parameter.countDownLatch
in interface Ignite
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.@Nullable public IgniteSemaphore semaphore(String name, int cnt, boolean failoverSafe, boolean create)
create
flag
is true
, it is created using provided name and count parameter.semaphore
in interface Ignite
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.@Nullable public IgniteLock reentrantLock(String name, boolean failoverSafe, boolean fair, boolean create)
create
flag
is true
, it is created using provided name.reentrantLock
in interface Ignite
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.@Nullable public <T> IgniteQueue<T> queue(String name, int cap, CollectionConfiguration cfg)
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.@Nullable public <T> IgniteSet<T> set(String name, CollectionConfiguration cfg)
cfg
is not
null
.public void onDisconnected()
public void onReconnected(boolean clusterRestarted)
clusterRestarted
- True
if all cluster nodes restarted while client was disconnected.public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
protected Object readResolve() throws ObjectStreamException
ObjectStreamException
- If failed.public void dumpDebugInfo()
dumpDebugInfo
in interface IgniteMXBean
public IgniteInternalFuture sendIoTest(ClusterNode node, byte[] payload, boolean procFromNioThread)
node
- Node.payload
- Message payload.procFromNioThread
- If true
message is processed from NIO thread.public IgniteInternalFuture sendIoTest(List<ClusterNode> nodes, byte[] payload, boolean procFromNioThread)
nodes
- Nodes.payload
- Message payload.procFromNioThread
- If true
message is processed from NIO thread.public void runIoTest(long warmup, long duration, int threads, long maxLatency, int rangesCnt, int payLoadSize, boolean procFromNioThread)
runIoTest
in interface IgniteMXBean
warmup
- Warmup duration in milliseconds.duration
- Test duration in milliseconds.threads
- Thread count.maxLatency
- Max latency in nanoseconds.rangesCnt
- Ranges count in resulting histogram.payLoadSize
- Payload size in bytes.procFromNioThread
- True
to process requests in NIO threads.
Follow @ApacheIgnite
Ignite Fabric : ver. 2.3.0 Release Date : October 28 2017