|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.hazelcast.core.OutOfMemoryHandler
public abstract class OutOfMemoryHandler
Handler for OutOfMemoryError
.
When an OutOfMemoryError
is caught by Hazelcast threads,
OutOfMemoryHandler
is called for ALL HazelcastInstance
s
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 HazelcastInstance s
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 HazelcastInstance
s
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 |