@PrivateApi public class DefaultOutOfMemoryHandler extends OutOfMemoryHandler
Modifier and Type | Field and Description |
---|---|
static String |
FREE_MAX_PERCENTAGE_PROP |
Constructor and Description |
---|
DefaultOutOfMemoryHandler() |
DefaultOutOfMemoryHandler(double freeVersusMaxRatio) |
DefaultOutOfMemoryHandler(double freeVersusMaxRatio,
MemoryInfoAccessor memoryInfoAccessor) |
Modifier and Type | Method and Description |
---|---|
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.
|
tryCloseConnections, tryShutdown
public static final String FREE_MAX_PERCENTAGE_PROP
public DefaultOutOfMemoryHandler()
public DefaultOutOfMemoryHandler(double freeVersusMaxRatio)
public DefaultOutOfMemoryHandler(double freeVersusMaxRatio, MemoryInfoAccessor memoryInfoAccessor)
public void onOutOfMemory(OutOfMemoryError oome, HazelcastInstance[] hazelcastInstances)
OutOfMemoryHandler
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.
onOutOfMemory
in class OutOfMemoryHandler
oome
- OutOfMemoryError thrown by JVMhazelcastInstances
- All HazelcastInstances known by JVM,
can include inactive or NULL instances.OutOfMemoryHandler.tryCloseConnections(HazelcastInstance)
,
OutOfMemoryHandler.tryShutdown(HazelcastInstance)
public boolean shouldHandle(OutOfMemoryError oome)
OutOfMemoryHandler
OutOfMemoryHandler.onOutOfMemory(OutOfMemoryError, HazelcastInstance[])
will be called
to handle error, otherwise OutOfMemoryError will be ignored.shouldHandle
in class OutOfMemoryHandler
oome
- OutOfMemoryError thrown by JVMCopyright © 2020 Hazelcast, Inc.. All Rights Reserved.