Class ClientOutOfMemoryHandler

java.lang.Object
com.hazelcast.core.OutOfMemoryHandler
com.hazelcast.client.ClientOutOfMemoryHandler

public class ClientOutOfMemoryHandler extends OutOfMemoryHandler
To clear resources of the client upon OutOfMemory
  • Field Details

  • Constructor Details

    • ClientOutOfMemoryHandler

      public ClientOutOfMemoryHandler()
    • ClientOutOfMemoryHandler

      public ClientOutOfMemoryHandler(double freeVersusMaxRatio)
    • ClientOutOfMemoryHandler

      public ClientOutOfMemoryHandler(double freeVersusMaxRatio, com.hazelcast.internal.util.MemoryInfoAccessor memoryInfoAccessor)
  • Method Details

    • onOutOfMemory

      public void onOutOfMemory(OutOfMemoryError oome, HazelcastInstance[] hazelcastInstances)
      Description copied from class: OutOfMemoryHandler
      When an OutOfMemoryError is caught by Hazelcast threads, this method is called for ALL HazelcastInstances 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.

      OutOfMemoryHandler#tryCloseConnections(HazelcastInstance) OutOfMemoryHandler#tryShutdown(HazelcastInstance)
      Specified by:
      onOutOfMemory in class OutOfMemoryHandler
      Parameters:
      oome - OutOfMemoryError thrown by JVM
      hazelcastInstances - All HazelcastInstances known by JVM, can include inactive or NULL instances.
    • shouldHandle

      public boolean shouldHandle(OutOfMemoryError oome)
      Description copied from class: OutOfMemoryHandler
      Decides if the OutOfMemoryError thrown will be handled by this OutOfMemoryHandler or not. If true is return, OutOfMemoryHandler.onOutOfMemory(OutOfMemoryError, HazelcastInstance[]) will be called to handle error, otherwise OutOfMemoryError will be ignored.
      Overrides:
      shouldHandle in class OutOfMemoryHandler
      Parameters:
      oome - OutOfMemoryError thrown by JVM
      Returns:
      true if OutOfMemoryError will be handled, false otherwise