public abstract class OutOfMemoryHandler extends Object
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 and Description |
---|
OutOfMemoryHandler() |
Modifier and Type | Method and Description |
---|---|
abstract 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.
|
protected void |
tryCloseConnections(HazelcastInstance hazelcastInstance)
Tries to close the server socket and connections to other
HazelcastInstance s. |
protected void |
tryShutdown(HazelcastInstance hazelcastInstance)
Tries to shutdown
HazelcastInstance forcefully;
including closing sockets and connections, stopping threads, etc. |
public abstract void onOutOfMemory(OutOfMemoryError oome, HazelcastInstance[] hazelcastInstances)
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
.
oome
- OutOfMemoryError thrown by JVMhazelcastInstances
- All HazelcastInstances known by JVM,
can include inactive or NULL instances.tryCloseConnections(HazelcastInstance)
,
tryShutdown(HazelcastInstance)
public boolean shouldHandle(OutOfMemoryError oome)
true
is return, onOutOfMemory(OutOfMemoryError, HazelcastInstance[])
will be called
to handle error, otherwise OutOfMemoryError will be ignored.oome
- OutOfMemoryError thrown by JVMprotected final void tryCloseConnections(HazelcastInstance hazelcastInstance)
HazelcastInstance
s.hazelcastInstance
- the Hazelcast instance to close server socketprotected final void tryShutdown(HazelcastInstance hazelcastInstance)
HazelcastInstance
forcefully;
including closing sockets and connections, stopping threads, etc.hazelcastInstance
- the Hazelcast instance to shutdownCopyright © 2023 Hazelcast, Inc.. All rights reserved.