Module jakarta.cdi

Interface SyntheticBeanDisposer<T>

  • Type Parameters:
    T - the bean class of the synthetic bean

    public interface SyntheticBeanDisposer<T>
    Destruction function for a synthetic bean defined by SyntheticBeanBuilder. CDI container will create an instance of the destruction function every time when it needs to destroy an instance of the synthetic bean. Implementations must be public classes with a public zero-parameter constructor; they must not be beans.
    Since:
    4.0
    • Method Detail

      • dispose

        void dispose​(T instance,
                     Instance<java.lang.Object> lookup,
                     Parameters params)
        Destroys an instance of the synthetic bean.

        The Instance parameter may be used to simulate disposer method parameter injection. All @Dependent bean instances obtained from the Instance during execution are destroyed when execution completes.

        Trying to look up InjectionPoint from the Instance parameter is invalid.

        The parameter map contains the same values that were passed to the SyntheticBeanBuilder that defined the synthetic bean.

        Parameters:
        instance - the synthetic bean instance, never null
        lookup - an Instance that can be used to lookup other beans, never null
        params - the parameter map, never null