Class OutOfMemoryHandler
- Direct Known Subclasses:
com.hazelcast.instance.impl.DefaultOutOfMemoryHandler
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
.
-
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.protected final void
tryCloseConnections
(HazelcastInstance hazelcastInstance) Tries to close the server socket and connections to otherHazelcastInstance
s.protected final void
tryShutdown
(HazelcastInstance hazelcastInstance) Tries to shut downHazelcastInstance
forcefully; including closing sockets and connections, stopping threads, etc.
-
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
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.- See Also:
-
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
-
tryCloseConnections
Tries to close the server socket and connections to otherHazelcastInstance
s.- Parameters:
hazelcastInstance
- the Hazelcast instance to close server socket
-
tryShutdown
Tries to shut downHazelcastInstance
forcefully; including closing sockets and connections, stopping threads, etc.- Parameters:
hazelcastInstance
- the Hazelcast instance to shut down
-