com.hazelcast.core
Interface HazelcastInstance

All Known Implementing Classes:
HazelcastClient

public interface HazelcastInstance

Hazelcast instance. Each Hazelcast instance is a member. Multiple Hazelcast instances can be created on a JVM. Each Hazelcast instance has its own socket, threads.

See Also:
Hazelcast.newHazelcastInstance(Config config)

Method Summary
 void addInstanceListener(InstanceListener instanceListener)
          Add a instance listener which will be notified when a new instance such as map, queue, multimap, topic, lock is added or removed.
 AtomicNumber getAtomicNumber(String name)
          Creates cluster-wide atomic long.
 ClientService getClientService()
          Returns the client service of this Hazelcast instance.
 Cluster getCluster()
          Returns the Cluster that this Hazelcast instance is part of.
 Config getConfig()
          Returns the configuration of this Hazelcast instance.
 ICountDownLatch getCountDownLatch(String name)
          Creates cluster-wide CountDownLatch.
 ExecutorService getExecutorService()
          Returns the default distributed executor service.
 ExecutorService getExecutorService(String name)
          Returns the distributed executor service for the given name.
 IdGenerator getIdGenerator(String name)
          Creates cluster-wide unique IDs.
 Collection<Instance> getInstances()
          Returns all queue, map, set, list, topic, lock, multimap instances created by Hazelcast.
 LifecycleService getLifecycleService()
          Returns the lifecycle service for this instance.
<E> IList<E>
getList(String name)
          Returns the distributed list instance with the specified name.
 ILock getLock(Object key)
          Returns the distributed lock instance for the specified key object.
 LoggingService getLoggingService()
          Returns the logging service of this Hazelcast instance.
<K,V> IMap<K,V>
getMap(String name)
          Returns the distributed map instance with the specified name.
<K,V> MultiMap<K,V>
getMultiMap(String name)
          Returns the distributed multimap instance with the specified name.
 String getName()
          Returns the name of this Hazelcast instance
 PartitionService getPartitionService()
          Returns the partition service of this Hazelcast instance.
<E> IQueue<E>
getQueue(String name)
          Returns the distributed queue instance with the specified name.
 ISemaphore getSemaphore(String name)
          Creates cluster-wide semaphore.
<E> ISet<E>
getSet(String name)
          Returns the distributed set instance with the specified name.
<E> ITopic<E>
getTopic(String name)
          Returns the distributed topic instance with the specified name.
 Transaction getTransaction()
          Returns the transaction instance associated with the current thread, creates a new one if it wasn't already.
 void removeInstanceListener(InstanceListener instanceListener)
          Removes the specified instance listener.
 void restart()
          Deprecated. as of version 1.9
 void shutdown()
          Deprecated. as of version 1.9
 

Method Detail

getName

String getName()
Returns the name of this Hazelcast instance

Returns:
name of this Hazelcast instance

getQueue

<E> IQueue<E> getQueue(String name)
Returns the distributed queue instance with the specified name.

Parameters:
name - name of the distributed queue
Returns:
distributed queue instance with the specified name

getTopic

<E> ITopic<E> getTopic(String name)
Returns the distributed topic instance with the specified name.

Parameters:
name - name of the distributed topic
Returns:
distributed topic instance with the specified name

getSet

<E> ISet<E> getSet(String name)
Returns the distributed set instance with the specified name.

Parameters:
name - name of the distributed set
Returns:
distributed set instance with the specified name

getList

<E> IList<E> getList(String name)
Returns the distributed list instance with the specified name. Index based operations on the list are not supported.

Parameters:
name - name of the distributed list
Returns:
distributed list instance with the specified name

getMap

<K,V> IMap<K,V> getMap(String name)
Returns the distributed map instance with the specified name.

Parameters:
name - name of the distributed map
Returns:
distributed map instance with the specified name

getMultiMap

<K,V> MultiMap<K,V> getMultiMap(String name)
Returns the distributed multimap instance with the specified name.

Parameters:
name - name of the distributed multimap
Returns:
distributed multimap instance with the specified name

getLock

ILock getLock(Object key)
Returns the distributed lock instance for the specified key object. The specified object is considered to be the key for this lock. So keys are considered equals cluster-wide as long as they are serialized to the same byte array such as String, long, Integer.

Locks are fail-safe. If a member holds a lock and some of the members go down, cluster will keep your locks safe and available. Moreover, when a member leaves the cluster, all the locks acquired by this dead member will be removed so that these locks can be available for live members immediately.

 Lock lock = Hazelcast.getLock("PROCESS_LOCK");
 lock.lock();
 try {
   // process
 } finally {
   lock.unlock();
 }
 

Parameters:
key - key of the lock instance
Returns:
distributed lock instance for the specified key.

getCluster

Cluster getCluster()
Returns the Cluster that this Hazelcast instance is part of. Cluster interface allows you to add listener for membership events and learn more about the cluster that this Hazelcast instance is part of.

Returns:
cluster that this Hazelcast instance is part of

getExecutorService

ExecutorService getExecutorService()
Returns the default distributed executor service. Executor service enables you to run your Runnables and Callables on the Hazelcast cluster. Note that it don't support invokeAll/Any and don't have standard shutdown behavior

Returns:
distributed executor service of this Hazelcast instance

getExecutorService

ExecutorService getExecutorService(String name)
Returns the distributed executor service for the given name.

Parameters:
name - name of the executor service
Returns:
executor service for the given name

getTransaction

Transaction getTransaction()
Returns the transaction instance associated with the current thread, creates a new one if it wasn't already.

Transaction doesn't start until you call transaction.begin() and if a transaction is started then all transactional Hazelcast operations are automatically transactional.

  Map map = Hazelcast.getMap("mymap");
  Transaction txn = Hazelcast.getTransaction();
  txn.begin();
  try {
    map.put ("key", "value");
    txn.commit();
  }catch (Exception e) {
    txn.rollback();
  }
 
Isolation is always READ_COMMITTED . If you are in a transaction, you can read the data in your transaction and the data that is already committed and if not in a transaction, you can only read the committed data. Implementation is different for queue and map/set. For queue operations (offer,poll), offered and/or polled objects are copied to the next member in order to safely commit/rollback. For map/set, Hazelcast first acquires the locks for the write operations (put, remove) and holds the differences (what is added/removed/updated) locally for each transaction. When transaction is set to commit, Hazelcast will release the locks and apply the differences. When rolling back, Hazelcast will simply releases the locks and discard the differences. Transaction instance is attached to the current thread and each Hazelcast operation checks if the current thread holds a transaction, if so, operation will be transaction aware. When transaction is committed, rolled back or timed out, it will be detached from the thread holding it.

Returns:
transaction for the current thread

getIdGenerator

IdGenerator getIdGenerator(String name)
Creates cluster-wide unique IDs. Generated IDs are long type primitive values between 0 and Long.MAX_VALUE . Id generation occurs almost at the speed of AtomicLong.incrementAndGet() . Generated IDs are unique during the life cycle of the cluster. If the entire cluster is restarted, IDs start from 0 again.

Parameters:
name - name of the IdGenerator
Returns:
IdGenerator for the given name

getAtomicNumber

AtomicNumber getAtomicNumber(String name)
Creates cluster-wide atomic long. Hazelcast AtomicNumber is distributed implementation of java.util.concurrent.atomic.AtomicLong.

Parameters:
name - name of the AtomicNumber proxy
Returns:
AtomicNumber proxy for the given name

getCountDownLatch

ICountDownLatch getCountDownLatch(String name)
Creates cluster-wide CountDownLatch. Hazelcast ICountDownLatch is distributed implementation of java.util.concurrent.CountDownLatch.

Parameters:
name - name of the ICountDownLatch proxy
Returns:
ICountDownLatch proxy for the given name

getSemaphore

ISemaphore getSemaphore(String name)
Creates cluster-wide semaphore. Hazelcast ISemaphore is distributed implementation of java.util.concurrent.Semaphore.

Parameters:
name - name of the ISemaphore proxy
Returns:
ISemaphore proxy for the given name

shutdown

void shutdown()
Deprecated. as of version 1.9

Detaches this member from the cluster. It doesn't shutdown the entire cluster, it shuts down this local member only.

See Also:
getLifecycleService()

restart

void restart()
Deprecated. as of version 1.9

Detaches this member from the cluster first and then restarts it as a new member.

See Also:
getLifecycleService()

getInstances

Collection<Instance> getInstances()
Returns all queue, map, set, list, topic, lock, multimap instances created by Hazelcast.

Returns:
the collection of instances created by Hazelcast.

addInstanceListener

void addInstanceListener(InstanceListener instanceListener)
Add a instance listener which will be notified when a new instance such as map, queue, multimap, topic, lock is added or removed.

Parameters:
instanceListener - instance listener

removeInstanceListener

void removeInstanceListener(InstanceListener instanceListener)
Removes the specified instance listener. Returns silently if specified instance listener doesn't exist.

Parameters:
instanceListener - instance listener to remove

getConfig

Config getConfig()
Returns the configuration of this Hazelcast instance.

Returns:
configuration of this Hazelcast instance

getPartitionService

PartitionService getPartitionService()
Returns the partition service of this Hazelcast instance. PartitionService allows you to introspect current partitions in the cluster, partition owner members and listen for partition migration events.

Returns:
partition service

getClientService

ClientService getClientService()
Returns the client service of this Hazelcast instance. Client service allows you to get information about connected clients.

Returns:

getLoggingService

LoggingService getLoggingService()
Returns the logging service of this Hazelcast instance. LoggingService allows you to listen for LogEvents generated by Hazelcast runtime. You can log the events somewhere or take action base on the message.

Returns:
logging service

getLifecycleService

LifecycleService getLifecycleService()
Returns the lifecycle service for this instance. LifecycleService allows you to shutdown, restart, pause and resume this HazelcastInstance and listen for the lifecycle events.

Returns:
lifecycle service


Copyright 2008-2012 Hazel Ltd. All Rights Reserved.