container/services/src/main/java/org/mobicents/slee/container/management/SbbManagementImpl.java
public void uninstallSbb(final SbbComponent sbbComponent)
			throws SystemException, Exception, NamingException {

		final SleeTransactionManager sleeTransactionManager = sleeContainer
				.getTransactionManager();
		sleeTransactionManager.mandateTransaction();

		if (logger.isDebugEnabled())
			logger.debug("Uninstalling "+sbbComponent);

		// remove sbb from trace and alarm facilities
		sleeContainer.getTraceManagement().getTraceFacility().unSetTraceLevel(
				sbbComponent.getSbbID());
		sleeContainer.getAlarmManagement().unRegisterComponent(
				sbbComponent.getSbbID());
		
		if (logger.isDebugEnabled()) {
			logger.debug("Removed SBB " + sbbComponent.getSbbID()
					+ " from trace and alarm facilities");
		}
		
		sleeContainer.getJndiManagement().componentUninstall(sbbComponent);
		
		// if we are in cluster mode we need to remove the sbb class loader domain from the replication class loader
		if (!sleeContainer.getCluster().getMobicentsCache().isLocalMode()) {
			final ReplicationClassLoader replicationClassLoader = sleeContainer.getReplicationClassLoader();
			TransactionalAction action2 = new TransactionalAction() {
				public void execute() {
					replicationClassLoader.removeDomain(sbbComponent.getClassLoaderDomain());
				}
			};
			sleeTransactionManager.getTransactionContext().getAfterCommitActions().add(action2);
		}

	}
public void uninstallSbb(final SbbComponent sbbComponent)
			throws SystemException, Exception, NamingException {

		final SleeTransactionManager sleeTransactionManager = sleeContainer
				.getTransactionManager();
		sleeTransactionManager.mandateTransaction();

		if (logger.isDebugEnabled())
			logger.debug("Uninstalling "+sbbComponent);

		// remove sbb from trace and alarm facilities
		sleeContainer.getTraceManagement().getTraceFacility().unSetTraceLevel(
				sbbComponent.getSbbID());
		sleeContainer.getAlarmManagement().unRegisterComponent(
				sbbComponent.getSbbID());
		
		if (logger.isDebugEnabled()) {
			logger.debug("Removed SBB " + sbbComponent.getSbbID()
					+ " from trace and alarm facilities");
		}
		
		sleeContainer.getJndiManagement().componentUninstall(sbbComponent);
		
		// if we are in cluster mode we need to remove the sbb class loader domain from the replication class loader
		if (!sleeContainer.getCluster().getMobicentsCache().isLocalMode()) {
			final ReplicationClassLoader replicationClassLoader = sleeContainer.getReplicationClassLoader();
			TransactionalAction action2 = new TransactionalAction() {
				public void execute() {
					replicationClassLoader.removeDomain(sbbComponent.getClassLoaderDomain());
				}
			};
			sleeTransactionManager.getTransactionContext().getAfterCommitActions().add(action2);
		}

	}
/*
(non-Javadoc)
@see org.mobicents.slee.container.management.SbbManagement#uninstallSbb(org.mobicents.slee.core.component.sbb.SbbComponent)