Package org.apache.tomcat

## Interface InstanceManager

- All Known Implementing Classes:
    `DefaultInstanceManager`, `SimpleInstanceManager`

      public interface InstanceManager

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `backgroundProcess()` | Called by the component using the InstanceManager periodically to perform any regular maintenance that might be required.
    `void` | `destroyInstance​(Object o)` |
    `Object` | `newInstance​(Class<?> clazz)` |
    `void` | `newInstance​(Object o)` |
    `Object` | `newInstance​(String className)` |
    `Object` | `newInstance​(String fqcn, ClassLoader classLoader)` |

- - ### Method Detail

    - #### newInstance

          Object newInstance​(Class<?> clazz)
                      throws IllegalAccessException,
                             InvocationTargetException,
                             NamingException,
                             InstantiationException,
                             IllegalArgumentException,
                             NoSuchMethodException,
                             SecurityException

      Throws:
        `IllegalAccessException`
        `InvocationTargetException`
        `NamingException`
        `InstantiationException`
        `IllegalArgumentException`
        `NoSuchMethodException`
        `SecurityException`

    - #### newInstance

          Object newInstance​(String className)
                      throws IllegalAccessException,
                             InvocationTargetException,
                             NamingException,
                             InstantiationException,
                             ClassNotFoundException,
                             IllegalArgumentException,
                             NoSuchMethodException,
                             SecurityException

      Throws:
        `IllegalAccessException`
        `InvocationTargetException`
        `NamingException`
        `InstantiationException`
        `ClassNotFoundException`
        `IllegalArgumentException`
        `NoSuchMethodException`
        `SecurityException`

    - #### newInstance

          Object newInstance​(String fqcn,
                             ClassLoader classLoader)
                      throws IllegalAccessException,
                             InvocationTargetException,
                             NamingException,
                             InstantiationException,
                             ClassNotFoundException,
                             IllegalArgumentException,
                             NoSuchMethodException,
                             SecurityException

      Throws:
        `IllegalAccessException`
        `InvocationTargetException`
        `NamingException`
        `InstantiationException`
        `ClassNotFoundException`
        `IllegalArgumentException`
        `NoSuchMethodException`
        `SecurityException`

    - #### newInstance

          void newInstance​(Object o)
                    throws IllegalAccessException,
                           InvocationTargetException,
                           NamingException

      Throws:
        `IllegalAccessException`
        `InvocationTargetException`
        `NamingException`

    - #### destroyInstance

          void destroyInstance​(Object o)
                        throws IllegalAccessException,
                               InvocationTargetException

      Throws:
        `IllegalAccessException`
        `InvocationTargetException`

    - #### backgroundProcess

          default void backgroundProcess()

      Called by the component using the InstanceManager periodically to perform any regular maintenance that might be required. By default, this method is a NO-OP.