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
true
is return, OutOfMemoryHandler.onOutOfMemory(OutOfMemoryError, HazelcastInstance[])
will be called
to handle error, otherwise OutOfMemoryError will be ignored.shouldHandle
in class OutOfMemoryHandler
oome
- OutOfMemoryError thrown by JVMCopyright © 2019 Hazelcast, Inc.. All rights reserved.