public void dispose()

in src/java/org/apache/fulcrum/yaafi/framework/container/ServiceContainerImpl.java [450:500]


    public void dispose()
    {
        if (this.isCurrentlyDisposing() || this.isAlreadyDisposed())
        {
            return;
        }

        this.isCurrentlyDisposing = true;

        if (this.getLogger() != null)
        {
            this.getLogger().debug( "Disposing all services" );
        }

        // wait some time before disposing all services

        waitForDisposal();

        synchronized (this)
        {
            // de-commission all services

            this.decommissionAll( this.getServiceList() );

            // dispose all services

            this.disposeAll( this.getServiceList() );

            // clean up

            this.getServiceList().clear();
            this.getServiceMap().clear();

            this.componentRolesLocation = null;
            this.componentConfigurationLocation = null;
            this.context = null;
            this.parametersLocation = null;
            this.roleConfiguration = null;
            this.serviceConfiguration = null;
            this.parameters = null;
            this.fallbackServiceManagerList = null;
            this.defaultInterceptorServiceList = null;
            this.isCurrentlyDisposing = false;
            this.isAlreadyDisposed = true;

            if (this.getLogger() != null)
            {
                this.getLogger().debug( "All services are disposed" );
            }
        }
    }