public abstract class OutOfMemoryHandler extends Object
OutOfMemoryError
When an OutOfMemoryError
is caught by Hazelcast threads,
OutOfMemoryHandler
is called for ALL HazelcastInstance
s
knows by current JVM (actually ClassLoader).
Warning: OutOfMemoryHandler may not be called although JVM throws OutOfMemoryError. Because error may be thrown from an external (user thread) thread and Hazelcast may not be informed about OutOfMemoryError.
Constructor and Description |
---|
OutOfMemoryHandler() |
Modifier and Type | Method and Description |
---|---|
protected void |
inactivate(HazelcastInstance hazelcastInstance)
Just inactivates HazelcastInstance; leaves threads, connections untouched.
|
abstract void |
onOutOfMemory(OutOfMemoryError oom,
HazelcastInstance[] hazelcastInstances)
When an
OutOfMemoryError is caught by Hazelcast threads,
this method is called for ALL HazelcastInstance s
knows by current JVM (actually ClassLoader). |
protected void |
tryCloseConnections(HazelcastInstance hazelcastInstance)
Tries to close 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).
|
public abstract void onOutOfMemory(OutOfMemoryError oom, 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 HazelcastInstance, call System.exit()
,
just log the error etc.
Default handler tries to close socket connections to other nodes and shutdown
HazelcastInstance.
Warning: OutOfMemoryHandler may not be called although JVM throws OutOfMemoryError. Because error may be thrown from an external (user thread) thread and Hazelcast may not be informed about OutOfMemoryError.
oom
- OutOfMemoryError thrown by JVMhazelcastInstances
- All HazelcastInstances known by JVM,
can include inactive or NULL instances.inactivate(HazelcastInstance)
,
tryCloseConnections(HazelcastInstance)
,
tryStopThreads(HazelcastInstance)
,
tryShutdown(HazelcastInstance)
protected final void inactivate(HazelcastInstance hazelcastInstance)
hazelcastInstance
- protected final void tryCloseConnections(HazelcastInstance hazelcastInstance)
hazelcastInstance
- protected final void tryStopThreads(HazelcastInstance hazelcastInstance)
hazelcastInstance
- protected final void tryShutdown(HazelcastInstance hazelcastInstance)
hazelcastInstance
- Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.