|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.hazelcast.core.OutOfMemoryHandler
public abstract class OutOfMemoryHandler
Handler for OutOfMemoryError.
When an OutOfMemoryError is caught by Hazelcast threads,
OutOfMemoryHandler is called for ALL HazelcastInstances
known by the current JVM (actually ClassLoader).
Warning: OutOfMemoryHandler may not be called even if JVM throws OutOfMemoryError because the error may be thrown from an external (user) thread, so Hazelcast may not be informed about OutOfMemoryError.
OutOfMemoryError,
Hazelcast.setOutOfMemoryHandler(OutOfMemoryHandler)| Constructor Summary | |
|---|---|
OutOfMemoryHandler()
|
|
| Method Summary | |
|---|---|
protected void |
inactivate(HazelcastInstance hazelcastInstance)
Inactivates HazelcastInstance; leaves threads, the connections are untouched. |
abstract void |
onOutOfMemory(OutOfMemoryError oome,
HazelcastInstance[] hazelcastInstances)
When an OutOfMemoryError is caught by Hazelcast threads,
this method is called for ALL HazelcastInstances
knows by current JVM (actually ClassLoader). |
boolean |
shouldHandle(OutOfMemoryError oome)
Decides if the OutOfMemoryError thrown will be handled by this OutOfMemoryHandler or not. |
protected void |
tryCloseConnections(HazelcastInstance hazelcastInstance)
Tries to close the server socket and connections to other HazelcastInstances. |
protected void |
tryShutdown(HazelcastInstance hazelcastInstance)
Tries to shutdown HazelcastInstance forcefully; including closing sockets and connections, stopping threads, etc. |
protected void |
tryStopThreads(HazelcastInstance hazelcastInstance)
Tries to stop internal Hazelcast threads (such as service thread, IO threads, executor threads). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OutOfMemoryHandler()
| Method Detail |
|---|
public abstract void onOutOfMemory(OutOfMemoryError oome,
HazelcastInstance[] hazelcastInstances)
OutOfMemoryError is caught by Hazelcast threads,
this method is called for ALL HazelcastInstances
knows by current JVM (actually ClassLoader).
User can shutdown the HazelcastInstance, call System.exit(),
just log the error, etc.
The default handler tries to close socket connections to other nodes and shutdown the
HazelcastInstance.
Warning: OutOfMemoryHandler may not be called even if JVM throws OutOfMemoryError because the error may be thrown from an external (user) thread and Hazelcast may not be informed about OutOfMemoryError.
oome - OutOfMemoryError thrown by JVMhazelcastInstances - All HazelcastInstances known by JVM,
can include inactive or NULL instances.inactivate(HazelcastInstance),
tryCloseConnections(HazelcastInstance),
tryStopThreads(HazelcastInstance),
tryShutdown(HazelcastInstance)public boolean shouldHandle(OutOfMemoryError oome)
onOutOfMemory(OutOfMemoryError, HazelcastInstance[]) will be called
to handle error, otherwise OutOfMemoryError will be ignored.
oome - OutOfMemoryError thrown by JVM
protected final void inactivate(HazelcastInstance hazelcastInstance)
hazelcastInstance - the Hazelcast instance to inactivateprotected final void tryCloseConnections(HazelcastInstance hazelcastInstance)
hazelcastInstance - the Hazelcast instance to close server socketprotected final void tryStopThreads(HazelcastInstance hazelcastInstance)
hazelcastInstance - the Hazelcast instance to stop internal threadsprotected final void tryShutdown(HazelcastInstance hazelcastInstance)
hazelcastInstance - the Hazelcast instance to shutdown
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||