Package org.zkoss.util

## Class Cleanups

- java.lang.Object
- - org.zkoss.util.Cleanups

-     public class Cleanups
      extends java.lang.Object

  Utilities to clean up resources when the application is stopping. Currently, when a ZK application is stopping, ZK will invoke `cleanup()`. Thus you can register an implementation of `Cleanups.Cleanup` to release the resources.

  Notice that this utility is introduced mainly to resolve the memory lead issue if an application is hot re-deployed. A typical example is to stop any pooled threads.

  ### How to use:

  First, register the cleanup with `add(org.zkoss.util.Cleanups.Cleanup)`.

  Second, invoke `cleanup()` when necessary, such as when the application is stopping

  .
  Since:
    3.6.5
  Author:
    tomyeh

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `Cleanups.Cleanup` | The interface to implement for each cleanup.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Cleanups()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | `add​(Cleanups.Cleanup cleanup)` | Registers a cleanup.
    `static void` | `cleanup()` | Invokes all cleanups registered with `add(org.zkoss.util.Cleanups.Cleanup)`.
    `static boolean` | `remove​(Cleanups.Cleanup cleanup)` | Un-registers a cleanup.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Cleanups

          public Cleanups()

  - ### Method Detail

    - #### add

          public static boolean add​(Cleanups.Cleanup cleanup)

      Registers a cleanup.
      Returns:
        true if it is added successfully, or false if the cleanup has been registered before.

    - #### remove

          public static boolean remove​(Cleanups.Cleanup cleanup)

      Un-registers a cleanup.
      Returns:
        true if it is removed successfully, or false if not registered before.

    - #### cleanup

          public static void cleanup()

      Invokes all cleanups registered with `add(org.zkoss.util.Cleanups.Cleanup)`.