public void dispose()

in src/java/org/apache/fulcrum/yaafi/framework/container/ServiceContainerImpl.java [424:469]


	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");
			}
		}
	}