com.hazelcast.instance
Class DefaultOutOfMemoryHandler
java.lang.Object
com.hazelcast.core.OutOfMemoryHandler
com.hazelcast.instance.DefaultOutOfMemoryHandler
- Direct Known Subclasses:
- ClientOutOfMemoryHandler
public class DefaultOutOfMemoryHandler
- extends OutOfMemoryHandler
Default OutOfMemoryHandler implementation that tries to release local resources (threads, connections, memory)
immediately and disconnects members from the rest of the cluster.
Method Summary |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FREE_MAX_PERCENTAGE_PROP
public static final String FREE_MAX_PERCENTAGE_PROP
- See Also:
- Constant Field Values
DefaultOutOfMemoryHandler
public DefaultOutOfMemoryHandler()
DefaultOutOfMemoryHandler
public DefaultOutOfMemoryHandler(double freeVersusMaxRatio)
DefaultOutOfMemoryHandler
public DefaultOutOfMemoryHandler(double freeVersusMaxRatio,
MemoryInfoAccessor memoryInfoAccessor)
onOutOfMemory
public void onOutOfMemory(OutOfMemoryError oome,
HazelcastInstance[] hazelcastInstances)
- Description copied from class:
OutOfMemoryHandler
- When an
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.
- Specified by:
onOutOfMemory
in class OutOfMemoryHandler
- Parameters:
oome
- OutOfMemoryError thrown by JVMhazelcastInstances
- All HazelcastInstances known by JVM,
can include inactive or NULL instances.- See Also:
OutOfMemoryHandler.inactivate(HazelcastInstance)
,
OutOfMemoryHandler.tryCloseConnections(HazelcastInstance)
,
OutOfMemoryHandler.tryStopThreads(HazelcastInstance)
,
OutOfMemoryHandler.tryShutdown(HazelcastInstance)
shouldHandle
public boolean shouldHandle(OutOfMemoryError oome)
- Description copied from class:
OutOfMemoryHandler
- Decides if the OutOfMemoryError thrown will be handled by this OutOfMemoryHandler or not.
If true is return,
OutOfMemoryHandler.onOutOfMemory(OutOfMemoryError, HazelcastInstance[])
will be called
to handle error, otherwise OutOfMemoryError will be ignored.
- Overrides:
shouldHandle
in class OutOfMemoryHandler
- Parameters:
oome
- OutOfMemoryError thrown by JVM
- Returns:
- true if OutOfMemoryError will be handled, false otherwise
Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.