Class OutOfMemoryHandler
- Direct Known Subclasses:
ClientOutOfMemoryHandler
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
.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
onOutOfMemory
(OutOfMemoryError oome, HazelcastInstance[] hazelcastInstances) When anOutOfMemoryError
is caught by Hazelcast threads, this method is called for ALLHazelcastInstance
s knows by current JVM (actually ClassLoader).boolean
shouldHandle
(OutOfMemoryError oome) Decides if the OutOfMemoryError thrown will be handled by this OutOfMemoryHandler or not.
-
Constructor Details
-
OutOfMemoryHandler
public OutOfMemoryHandler()
-
-
Method Details
-
onOutOfMemory
When anOutOfMemoryError
is caught by Hazelcast threads, this method is called for ALLHazelcastInstance
s knows by current JVM (actually ClassLoader).User can shutdown the
HazelcastInstance
, callSystem.exit()
, just log the error, etc. The default handler tries to close socket connections to other nodes and shutdown theHazelcastInstance
.Warning:
OutOfMemoryHandler#tryCloseConnections(HazelcastInstance) OutOfMemoryHandler#tryShutdown(HazelcastInstance)OutOfMemoryHandler
may not be called even if JVM throwsOutOfMemoryError
because the error may be thrown from an external (user) thread and Hazelcast may not be informed aboutOutOfMemoryError
.- Parameters:
oome
- OutOfMemoryError thrown by JVMhazelcastInstances
- All HazelcastInstances known by JVM, can include inactive or NULL instances.
-
shouldHandle
Decides if the OutOfMemoryError thrown will be handled by this OutOfMemoryHandler or not. Iftrue
is return,onOutOfMemory(OutOfMemoryError, HazelcastInstance[])
will be called to handle error, otherwise OutOfMemoryError will be ignored.- Parameters:
oome
- OutOfMemoryError thrown by JVM- Returns:
- true if OutOfMemoryError will be handled, false otherwise
-